Имя: Пароль:
1C
1С v8
Сохранение в 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;
УдалитьФайлы(ИмяФайла);