Процедура сохранения табличного документа в файл excel

Для удобства использования я создам процедуру в общем глобальном модуле.

Для ее вызова нам необходимо знать только название табличного документа, т.е. имя элемета.

Процедура имеет 3 параметра:

ИмяФайла — строка, содержит имя файла. Имя можно поменять в окне сохранения.

ОткрытьФайл — булево, если Истина то будет открывать автоматически сохраненный документ.

ИмяТабДок — сам табличный документ.

Процедура СохраненитьТабличныйДокументВExcel (ИмяФайла, ОткрытьФайл, ИмяТабДок) Экспорт
  ИмяФайла = ИмяФайла + ".xls";
  ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
  ДиалогОткрытияФайла.ПолноеИмяФайла = ИмяФайла;
  ДиалогОткрытияФайла.Каталог = ПутьКрабочемуСтолу();
  ДиалогОткрытияФайла.Фильтр = "Файлы Microsoft Excel (*.xls)|*.xls|Все файлы (*.*)|*.*";
  ДиалогОткрытияФайла.МножественныйВыбор = Ложь; 
  Если ДиалогОткрытияФайла.Выбрать() тогда
    ИмяТабДок.Записать(ДиалогОткрытияФайла.ПолноеИмяФайла,ТипФайлаТабличногоДокумента.XLS);
    Если ОткрытьФайл = истина тогда
      ДокExcel = ПолучитьCOMОбъект("", "Excel.Application");
      ДокExcel.Workbooks.Open(ДиалогОткрытияФайла.ПолноеИмяФайла);
      ДокExcel.Visible = 1;
    КонецЕсли;
  КонецЕсли;
КонецПроцедуры

Пример:

ТабДок = Новый ТабличныйДокумент;
// формируем документ
ТабДок.Показать();
// сохраним в файл Отчет.xls не открывая его
СохраненитьТабличныйДокументВExcel ("Отчет", Ложь, ТабДок);

 

Описание

Создали новый диалог (окно) сохранения

  ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);

Указали имя

  ДиалогОткрытияФайла.ПолноеИмяФайла = ИмяФайла;

Указали путь, я использую функцию (ссылка на описание)

  ДиалогОткрытияФайла.Каталог = ПутьКрабочемуСтолу();

Создаем фильтр расширений

  ДиалогОткрытияФайла.Фильтр = "Файлы Microsoft Excel (*.xls)|*.xls|Все файлы (*.*)|*.*";
  ДиалогОткрытияФайла.МножественныйВыбор = Ложь;

Если выбрали путь сохраняем

  Если ДиалогОткрытияФайла.Выбрать() тогда
    ИмяТабДок.Записать(ДиалогОткрытияФайла.ПолноеИмяФайла,ТипФайлаТабличногоДокумента.XLS);

Открываем файл если передано истина

    Если ОткрытьФайл = истина тогда
      ДокExcel = ПолучитьCOMОбъект("", "Excel.Application");
      ДокExcel.Workbooks.Open(ДиалогОткрытияФайла.ПолноеИмяФайла);
      ДокExcel.Visible = 1;
    КонецЕсли;
  КонецЕсли;
КонецПроцедуры


comments powered by Disqus

Популярное