Сохранение в Excel - теряется фиксация сверху/слева
☑
0
dchumak
30.07.18
✎
09:56
Добрый день.
Прошу помощи знатоков VBA.
В табл. документе сделана фиксация (например, сверху). Затем, все сохраняется в Excel следующим кодом:
опытка
xlsApp=ПолучитьCOMОбъект("","Excel.Application");
Исключение
Предупреждение("Ошибка при получении объекта Excel. Возможно не установлен Microsoft Office.",15);
Возврат;
КонецПопытки;
xlsApp.SheetsInNewWorkbook = 1;
xlsApp.DisplayAlerts = 0;
book = xlsApp.Workbooks.Add();
delSheet = book.Sheets(1);
// общие данные
ИмяФайла=ПолучитьИмяВременногоФайла("xls");
ЭлементыФормы.табДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
tempBook=xlsApp.Workbooks.Open(ИмяФайла);
tempBook.Sheets(1).Name="Общие данные";
tempBook.Sheets(1).Copy(delSheet);
tempBook.Close(0);
УдалитьФайлы(ИмяФайла);
book.SaveAs(АдресСохранения,-4143);
xlsApp.DisplayAlerts = 1;
xlsApp.Workbooks.Close();
xlsApp.Quit();
При сохранении теряется фиксация.
Как это сделать в данном коде (сохранить фиксацию в документе)?
1
ildary
30.07.18
✎
10:03
(0) обычно делают так - делается запись макроса в екселе: включаем запись макроса, выполняем нужное действие в екселе руками и полученный код переносится в 1С.
2
dchumak
30.07.18
✎
11:36
(1) Спасибо!
Забыл про эту возможность в VBA.
Получилось сделать!
3
dchumak
30.07.18
✎
11:38
Код:
ИмяФайла=ПолучитьИмяВременногоФайла("xls");
ЭлементыФормы.ТабДок1.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
tempBook=xlsApp.Workbooks.Open(ИмяФайла);
tempBook.Sheets(1).Name="Расходные материалы";
tempBook.Sheets(1).Copy(delSheet);
tempBook.Close(0);
// вот код, где xlsApp = ПолучитьCOMОбъект("","Excel.Application");
xlsApp.ActiveWindow.SplitRow = 4;
xlsApp.ActiveWindow.SplitColumn = 1;
xlsApp.ActiveWindow.FreezePanes = true;
УдалитьФайлы(ИмяФайла);
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.