Как передать в Excel параметр PrintTitleRows

1. rafaiil 22.05.18 16:24 Сейчас в теме
Добрый день! имеем следующий скрипт в VBA

With ActiveSheet.PageSetup
.PrintTitleRows = "$4:$6"
.PrintTitleColumns = ""
End With

При обращение через 1с к Excel
через

НовыйЛист.PageSetup.PrintTitleRows = "$4:$6";

Не происходит установки и выходит ошибка метода.
Теперь вопрос как передать из 1с в excel диапазон в понятном формате
+
Найденные решения
2. aidaphill 22.05.18 17:10 Сейчас в теме
(1) А НовыйЛист - это ActiveSheet?
Еще, возможно надо указать диапазон ячеек другим видом записи.
rafaiil; +1
3. SlavaKron 22.05.18 17:24 Сейчас в теме
Должно работать. Проверил такой код:
&НаКлиенте
Процедура СоздатьКнигу(Команда)
	ПриложениеЭксель = Новый COMОбъект("Excel.Application");
	ПриложениеЭксель.Visible = Истина;
	КнигаЭксель = ПриложениеЭксель.Workbooks.Add();
	ЛистЭксель = КнигаЭксель.ActiveSheet;
	ЛистЭксель.PageSetup.PrintTitleRows = "$4:$6";
	ПриложениеЭксель.WindowState = 2;
	ПриложениеЭксель.WindowState = 1;	
КонецПроцедуры
Показать
Прикрепленные файлы:
rafaiil; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. aidaphill 22.05.18 17:10 Сейчас в теме
(1) А НовыйЛист - это ActiveSheet?
Еще, возможно надо указать диапазон ячеек другим видом записи.
rafaiil; +1
3. SlavaKron 22.05.18 17:24 Сейчас в теме
Должно работать. Проверил такой код:
&НаКлиенте
Процедура СоздатьКнигу(Команда)
	ПриложениеЭксель = Новый COMОбъект("Excel.Application");
	ПриложениеЭксель.Visible = Истина;
	КнигаЭксель = ПриложениеЭксель.Workbooks.Add();
	ЛистЭксель = КнигаЭксель.ActiveSheet;
	ЛистЭксель.PageSetup.PrintTitleRows = "$4:$6";
	ПриложениеЭксель.WindowState = 2;
	ПриложениеЭксель.WindowState = 1;	
КонецПроцедуры
Показать
Прикрепленные файлы:
rafaiil; +1
4. rafaiil 22.05.18 20:21 Сейчас в теме
(3)завтра проверю. Откуда взяли последние 2 строчки кода?
+
6. SlavaKron 23.05.18 08:36 Сейчас в теме
(4) Последние строчки кода заставляют активизироваться окно офисного приложения. Найдено методом проб и ошибок, думаю, есть другой способ.
+
7. rafaiil 23.05.18 09:40 Сейчас в теме
(6)
у меня работает и без этого.у меня вообще экселька на сервере запускается и без visible.собирает данные конвертирует в pdf и удаляет файл с закрытием экселя
НовыйЛист.Activate();
ЛистЭксель = КнигаЭксель.ActiveSheet;
ЛистЭксель.PageSetup.PrintTitleRows = "$4:$6";

при этом что интересно некоторые параметры PageSetup.Zoom устанавливались и ДО НовыйЛист.Activate(); а вот PrintTitleRows работает только после
+
5. rafaiil 23.05.18 08:35 Сейчас в теме
(3)
(2)
Спасибо! Ошибка была в том что
назначение закрепленных строк выполнялось ДО НовыйЛист.Activate();
+
Внимание! Тема сдана в архив

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