Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel application open

Хочу прочитать файл Эксель и не могу,в чем дело ?

Excel = СоздатьОбъект(«Excel.Application»);
Excel.WorkBooks.Open(СокрЛП(ФайлЗагрузки));

Microsoft Office Excel: Метод Open из класса Workbooks завершен неверно
ссылка на Файл http://www.sendspace.com/file/oujtx9
P S компенсирую 100 руб на телефон за решение проблемы

(0) Файл залочен? Уже открыт?

ЗАГРУЗКА_В_1С.ERT(76)>: Microsoft Office Excel: Метод Open из класса Workbooks завершен неверно

ЗАГРУЗКА_В_1С.ERT(76)>: Microsoft Office Excel: Метод Open из класса Workbooks завершен неверно

Есть мнение, что у метода Open есть и другие параметры, про которые забывать нельзя — например — файл рекомендован для открытия ReadOnly или необходима перекодировка (файл в формате Excel 95) так что читаем мануал:

Opens a workbook.

expression Required. An expression that returns the Workbooks object.

FileName Required String. The file name of the workbook to be opened.

UpdateLinks Optional Variant. Specifies the way links in the file are updated. If this argument is omitted, the user is prompted to specify how links will be updated. Otherwise, this argument is one of the values listed in the following table.

Value Meaning
0 Doesn’t update any references
1 Updates external references but not remote references
2 Updates remote references but not external references
3 Updates both remote and external references

If Microsoft Excel is opening a file in the WKS, WK1, or WK3 format and the UpdateLinks argument is 2, Microsoft Excel generates charts from the graphs attached to the file. If the argument is 0, no charts are created.

ReadOnly Optional Variant. True to open the workbook in read-only mode.

Format Optional Variant. If Microsoft Excel is opening a text file, this argument specifies the delimiter character, as shown in the following table. If this argument is omitted, the current delimiter is used.

Value Delimiter
5 Nothing
6 Custom character (see the Delimiter argument)

Password Optional Variant. A string that contains the password required to open a protected workbook. If this argument is omitted and the workbook requires a password, the user is prompted for the password.

WriteResPassword Optional Variant. A string that contains the password required to write to a write-reserved workbook. If this argument is omitted and the workbook requires a password, the user will be prompted for the password.

IgnoreReadOnlyRecommended Optional Variant. True to have Microsoft Excel not display the read-only recommended message (if the workbook was saved with the Read-Only Recommended option).

Origin Optional Variant. If the file is a text file, this argument indicates where it originated (so that code pages and Carriage Return/Line Feed (CR/LF) can be mapped correctly). Can be one of the following XlPlatform constants: xlMacintosh, xlWindows, or xlMSDOS. If this argument is omitted, the current operating system is used.

Delimiter Optional Variant. If the file is a text file and the Format argument is 6, this argument is a string that specifies the character to be used as the delimiter. For example, use Chr(9) for tabs, use «,» for commas, use «;» for semicolons, or use a custom character. Only the first character of the string is used.

Editable Optional Variant. If the file is a Microsoft Excel 4.0 add-in, this argument is True to open the add-in so that it’s a visible window. If this argument is False or omitted, the add-in is opened as hidden, and it cannot be unhidden. This option doesn’t apply to add-ins created in Microsoft Excel 5.0 or later. If the file is an Excel template, True to open the specified template for editing. False to open a new workbook based on the specified template. The default value is False.

Notify Optional Variant. If the file cannot be opened in read/write mode, this argument is True to add the file to the file notification list. Microsoft Excel will open the file as read-only, poll the file notification list, and then notify the user when the file becomes available. If this argument is False or omitted, no notification is requested, and any attempts to open an unavailable file will fail.

Читать еще:  Как определить среднее значение в excel

Converter Optional Variant. The index of the first file converter to try when opening the file. The specified file converter is tried first; if this converter doesn’t recognize the file, all other converters are tried. The converter index consists of the row numbers of the converters returned by the FileConverters property.

AddToMru Optional Variant. True to add this workbook to the list of recently used files. The default value is False.

Local Optional Variant. True saves files against the language of Microsoft Excel (including control panel settings). False (default) saves files against the language of Visual Basic for Applications (VBA) (which is typically US English unless the VBA project where Workbooks.Open is run from is an old internationalized XL5/95 VBA project).

CorruptLoad Optional Variant. Can be one of the following constants: xlNormalLoad, xlRepairFile and xlExtractData. The Default behavior if no value is specified is usually normal but may be safe load or data recovery, if Excel has already attempted to open the file. The first attempt is normal. If Excel stops operating while opening the file the second attempt is safe load. If Excel again stops operating the next attempt is data recovery.

OpenConflictDocument Optional Variant. True to open the local conflict document. Default is False.

1с и Excel.Application в Excel 2016

Данный код идеально работает на 2003 и 2007 excel. Но отказывается на последних версиях excel. Подскажите как правильно работать с Excel.Application последних версий Excel.

Excel = Новый COMОбъект(«Excel.Application»);

Если НЕ ПустаяСтрока(ИмяФайла) Тогда

ПересохраненыйФайл = КаталогВременныхФайлов() + «NEWtempExcel.xls»;

Excel.ActiveWorkbook.Close();
Excel.WorkBooks.Close();
Excel.Quit();
Excel = Неопределено;

Решение было найдено. Перезапись поврежденных или сохраненных Excel 2003 xls файлов можно производить с помощью

1. libreoffice
2. Excel 2007 с настройкой DCOM

Ошибка: Ошибка при вызове метода контекста (Open)

Книга.SaveAs(ПересохраненыйФайл, -4143, , , , , , 2);

(3) В том же направлении:

(7) Файл загружается из почты. Сохраняется во временном хранилище и потом считывается на сервере из хранилища. Так что с файлом никаких проблем нету.

DCOM тоже настроен. Потому что Excel.Application создается нормально. И можно вертеть как хочешь его параметрами.

(8) При наличии (и корректности) файла должен без проблем отрабатывать код:

Да объект Excel создается. И есть возможность вертеть как хочешь его параметрами. Но проблема когда пытаемся открыть файл с помощью — Open

В строке: Книга = Excel.WorkBooks.Open(ИмяФайла);

Ошибка: Ошибка при вызове метода контекста (Open)

(12) Нет. Файл формируется отправителем автоматически в excel 2003 года. Так что если открывать вручную то будет ругаться. Код который я написал отрабатывает с excel 2007 нормально. Он открывает поврежденный файл и перезаписывает его в новый. И новый потом можно парсить.

Но проблема в том что excel 2016 не хочет открывать даже файл.

Переведи код VBA на язык 1С. Обязательно напиши решение сюда.
Создаем объект Excel, потом его открываем. Метки можно выкинуть.

(14) Я данным примером и руководствовался.

Excel = Новый COMОбъект(«Excel.Application»);

На Open — кидает ошибку Ошибка при вызове метода контекста (Open)

Решение было найдено. Перезапись поврежденных или сохраненных Excel 2003 xls файлов можно производить с помощью

1. libreoffice
2. Excel 2007 с настройкой DCOM

Обучение программированию на 1С

Использование COM-соединения, выгрузка в Excel через COM-объект Excel.Application

Вообще COM-объекты используют для соединения информационной базы 1С с файлом Word, Excel, Outlook или любой другой программой, поддерживающей данный интерфейс обмена данными. В этой статье рассмотрим задачу выгрузки/загрузки данных из/в MS Excel. Чтобы это осуществить воспользуемся COM-соединением и объектом Excel.Application. Для примера возьмём задачу выгрузки/загрузки данных о номенклатуре. Пример рассмотрим ниже.

COM-соединение

Что же такое COM-соединение? Component Object Model (или COM) – это технология (фирмы Microsoft) взаимодействующих компонентов, которые одновременно могут быть использованы в разных приложениях. При этом весь функционал соответствующего компонента наследуется внутрь разрабатываемого приложения. В нашем случае COM-объект Excel.Application используется внутри кода 1С для операций с файлом книги MS Excel.

Объект Excel.Application

У объекта Excel.Application существует ряд методов, которые нам могут пригодиться для реализации нижепоставленной задачи:

  • ОбъектExcel.WorkBooks.Open(ИмяФайла) – Открытие книги MS Excel
  • ОбъектExcel.ActiveWorkbook.Close() – Закрытие текущей книги
  • ОбъектExcel.Quit() – Закрытие COM-объекта
  • ОбъектExcel.Sheets(ИмяЛиста) – Получает лист книги
  • ЛистExcel.Cells(НачалоСтрока, НачалоСтолбец) – Ячейка таблицы на данном листе
  • ЛистExcel.Range(Ячейка1, Ячейка2) – Выделенная область
  • ЯчейкаExcel.Value – Значение ячейки таблицы
  • ЯчейкаExcel.Text – Текст ячейки таблицы
Читать еще:  Vba excel address

Постановка задачи

Итак, предположим, что в обработке 1С у нас имеется табличная часть, состоящая из следующих колонок:

Необходимо реализовать 2 функционала (сделать на форме 2 основные кнопки):

  1. Выгрузка табличной части в подготовленный файл MS Excel
  2. Загрузка табличной части из файла.

Алгоритм выгрузки/загрузки в MS Excel

Алгоритм выгрузки следующий:

  1. Выгружаем табличную часть в таблицу значений
  2. Создаём новый COM-объект Excel.Application
  3. Выбираем файл, открываем файл книги MS Excel
  4. Переходим на заданный лист книги
  5. Выгружаем данные в файл
  6. Закрываем книгу, выходим из COM-объекта.

Алгоритм загрузки следующий:

  1. Создаём новый COM-объект Excel.Application
  2. Выбираем файл, открываем файл книги MS Excel
  3. Переходим на заданный лист книги
  4. Загружаем данные из файла в таблицу значений
  5. Закрываем книгу, выходим из COM-объекта
  6. Таблицу значений выгружаем в табличную часть.

Операция выгрузки и загрузки данных о номенклатуре происходит в заранее подготовленный шаблон MS Excel.

Пример кода 1С

Код 1С я постарался разделить на отдельные функции, чтобы, скопировав, с ними можно было работать где угодно. На форме обработки 1С были созданы 3 кнопки:

В итоге в реализации алгоритма получились следующие основные процедуры и функции 1С:

  • ПолучитьExcel – Получает COM-объект MS Excel;
  • ЗакрытьExcel – Закрывает использование COM-объекта MS Excel;
  • ПолучитьЛистExcel – Получает лист книги Excel;
  • ДобавитьТабличныйДокументВExcel – Добавляет табличный документ на лист Excel (нужно для выгрузки данных);
  • ПрочитатьОбластьИзExcel – Читает область ячеек с листа Excel (нужно для загрузки данных);
  • ШиринаЛистаExcel – Ширина листа Excel;
  • ВысотаЛистаExcel – Высота листа Excel;
  • ПреобразоватьТДвТЗ – Преобразует табличный документ в таблицу значений;
  • ПреобразоватьТЗвТД – Преобразует таблицу значений в табличный документ;

Для начала приведу вспомогательную функцию для открытия/сохранения файла на диске:

Работа с Excel с помощью C# (Microsoft.Office.Interop.Excel)

Оставляю заметку по работе с Excel с помощью C#.

Привожу фрагменты кода, которые искал когда-то сам для работы с Excel документами.

Наработки очень пригодились в работе для формирования отчетности.

Прежде всего нужно подключить библиотеку Microsoft.Office.Interop.Excel.

Visual Studio здесь довольно старой версии. Если у вас версия новая, отличаться будет только вид окна.

Далее создаем псевдоним для работы с Excel:

using Excel = Microsoft.Office.Interop.Excel;

Расстановка рамок.

Расставляем рамки со всех сторон:

Цвет рамки можно установить так:

Выравнивания в диапазоне задаются так:

Формулы

Определим задачу: получить сумму диапазона ячеек A4:A10.

Для начала снова получим диапазон ячеек:

Excel.Range formulaRange = sheet.get_Range(sheet.Cells[4, 1], sheet.Cells[9, 1]);

Далее получим диапазон вида A4:A10 по адресу ячейки ( [4,1]; [9;1] ) описанному выше:

string adder = formulaRange.get_Address(1, 1, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing);

Теперь в переменной adder у нас хранится строковое значение диапазона ( [4,1]; [9;1] ), то есть A4:A10.

Выделение ячейки или диапазона ячеек

Так же можно выделить ячейку или диапазон, как если бы мы выделили их мышкой:

Авто ширина и авто высота

Чтобы настроить авто ширину и высоту для диапазона, используем такие команды:

Получаем значения из ячеек

Чтобы получить значение из ячейки, используем такой код:

Добавляем лист в рабочую книгу

Чтобы добавить лист и дать ему заголовок, используем следующее:

Добавление разрыва страницы

Сохраняем документ

Как открыть существующий документ Excel

Комментарии

При работе с Excel с помощью C# большую помощь может оказать редактор Visual Basic, встроенный в Excel.

Для этого в настройках ленты надо добавить пункт «Разработчик». Далее начинаем запись макроса, производим действия и останавливаем запись.

Далее заходим в редактор Visual Basic и смотрим код, который туда записался:

В данном макросе записаны все действия, которые мы выполнили во время его записи. Эти методы и свойства можно использовать в C# коде.

Данный метод так же может оказать помощь в формировании относительных формул, например, выполнить сложение чисел, находящиеся слева от текущей ячейки на 4 столбца, и т.п. Пример:

Так же во время работы может возникнуть ошибка: метод завершен неверно. Это может означать, что не выбран лист, с которым идет работа.

Читать еще:  Excel vba cdate

Use Excel to open or save a worksheet in the OpenDocument Spreadsheet (.ods) format

You can open and save files in the OpenDocument Spreadsheet (.ods) file format that is used by some spreadsheet applications, such as OpenOffice.org Calc and Google Docs.

Open an OpenDocument Spreadsheet in Excel

Click File > Open > Computer > Browse.

To only see files saved in the OpenDocument format, in the file type list (next to the File name box), click OpenDocument Spreadsheet (*.ods).

Find the file you want to open, and then click Open.

Note: When you open an OpenDocument Spreadsheet file in Excel, it might not have the same formatting as it did in the original application it was created in. This is because of the differences between applications that use the OpenDocument Format.

Save an Excel worksheet in OpenDocument Spreadsheet format

Important: If you want to keep an Excel version of your file, you need to save the file as an Excel worksheet, for example in the .xlsx file format, and then save it again in the OpenDocument Spreadsheet (.ods) format.

Click File > Save As >Computer > Browse.

In the Save as type list, click OpenDocument Spreadsheet (*.ods).

Name and save your file.

Learn more about the OpenDocument Format

When you open or save worksheets in the OpenDocument Spreadsheet (.ods) format, some formatting might be lost. This is because of the different features and options, such as formatting and tables, that OpenDocument Spreadsheet applications and Excel support. For more information about the differences between the OpenDocument Spreadsheet format and the Excel format, see Differences between the OpenDocument Spreadsheet (.ods) format and the Excel (.xlsx) format.

Tip: Before sending a file to someone else, you might want to close the file and open it again to see what it looks like in the OpenDocument Spreadsheet (.ods) format. To compare the Excel format of the file with the OpenDocument Spreadsheet format of the file, first save the file in the Excel format, then open both the Excel version and the OpenDocument Spreadsheet version and visually inspect the files for differences.

Open an OpenDocument Spreadsheet in Excel

Click the Microsoft Office Button , and then click Open.

Click the file you want to open, and then click Open.

Note: When you open an OpenDocument Spreadsheet file in Excel, it might not have the same formatting as it did in the original application it was created in. This is because of the differences between applications that use the OpenDocument Format.

Save an Excel file in OpenDocument Spreadsheet format

Important: If you want to keep an Excel version of your file, you must first save the file as an Excel file, for example in the .xlsx file format, and then save it again in the OpenDocument Spreadsheet (.ods) format.

Click the Microsoft Office Button , and click Save As.

Click OpenDocument Spreadsheet.

Learn more about the OpenDocument Format

When you open or save worksheets in the OpenDocument Spreadsheet (.ods) format, some formatting might be lost. This is because of the different features and options, such as formatting and tables, that OpenDocument Spreadsheet applications and Excel support. For more information about the differences between the OpenDocument Spreadsheet format and the Excel format, see Differences between the OpenDocument Spreadsheet (.ods) format and the Excel Online (.xlsx) format.

Tip: Before sending a file to someone else, you might want to close the file and open it again to see what it looks like in the OpenDocument Spreadsheet (.ods) format. To compare the Excel format of the file with the OpenDocument Spreadsheet format of the file, first save the file in the Excel format, then open both the Excel version and the OpenDocument Spreadsheet version and visually inspect the files for differences.

Ссылка на основную публикацию
Adblock
detector