|
v7: 1С77 сохранить в Excel с масштабом странице по "ширине страницы" | ☑ | ||
---|---|---|---|---|
0
arkber84
28.11.17
✎
08:59
|
Доброе. 1с77, MS Oficce 2010. Нужно сохранить табличку в Excel с масштабом странице по "ширине страницы"(1 страница по ширине)
Посмотрел код в инете ExcelPS= ExcelWorkBook.ActiveSheet.PageSetup; Попытка ScrptCtrl = С СоздатьОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language="vbscript"; ScrptCtrl.AddCode("Function SetAutoZoom() | ExcelPS.Zoom = False | ExcelPS.FitToPagesWide = 1 | ExcelPS.FitToPagesTall = 10 |End Function"); ScrptCtrl.AddObject("ExcelPS", ExcelPS); ScrptCtrl.Run("SetAutoZoom") Исключение сообщить(ОписаниеОшибки()) КонецПопытки; ExcelWorkBook.ExportAsFixedFormat(0, ПолныйПутьФайла , 0); КонецЕсли; При выполнении кода вылетает ошибка Ошибка выполнения Microsoft VB * Script: Разрешение отклонено: 'ExcelPS.Zoom' Подскажите где ошибка? спасибо. |
|||
1
Масянька
28.11.17
✎
09:07
|
(0) Ошибка тут - ExcelPS.Zoom.
|
|||
2
aka AMIGO
28.11.17
✎
09:10
|
Если в Excel стартовать режим макросов и выполнить такую операцию, то решение найдется.
|
|||
3
arkber84
28.11.17
✎
10:04
|
(2) В екселе макрос делал. и все работает. Тут ошибка в разрешениях. Уточню. Процедура в 1С77 открывает существующий ексель файл, меняет настройки страницы(масштаб), затем конвертирует в pdf и сохраняет.
|
|||
4
Масянька
28.11.17
✎
10:54
|
(3) А сначала (наверное) сохраняет в excel...
|
|||
5
arkber84
28.11.17
✎
13:14
|
(4) и до сохранения и после пробывал.
|
|||
6
Масянька
28.11.17
✎
17:37
|
(5) Сразу в pdf религия не позволяет?
|
|||
7
arkber84
28.11.17
✎
18:04
|
(6) Масштаб не позволяет. ))) Таблица вылезает за пределы листа по ширине. вот пытаюсь открыть в екселе, задать масштаб и сконвертировать в пдф.
|
|||
8
Масянька
29.11.17
✎
08:39
|
(7) Попробуй:
Функция ПодготовитьФайл(КаталогДляЗаписи) Ошибка = 0; Форма.Отправка.Заголовок("Идет формирование письма."); Попытка ЗагрузитьВнешнююКомпоненту("SpreadSheet.dll"); Исключение Предупреждение("Не удалось загрузить компоненту SpreadSheet.dll."); Ошибка = 1; Возврат Ошибка; КонецПопытки; Йоксель = СоздатьОбъект("ТабличныйДокумент"); Йоксель.ЗагрузитьИзТаблицы(АктивныйКонтекст); Параметры = Йоксель.ПараметрыПечати; Параметры.ПолеСверху = 10; Параметры.ПолеСнизу = 10; Параметры.ПолеСлева = 10; Параметры.ПолеСправа = 10; Параметры.АвтоМасштаб = 1; Параметры.Ориентация = 1; Конвертер = СоздатьОбъект("Йоксель.ГрафическийКонвертер.PDF"); // ориентация печ. формы: для всех, кроме счета - 1 (альбомная) Если (СтрОриентация = 1) Тогда Конвертер.ВысотаСтраницы = 210*56.7; Конвертер.ШиринаСтраницы = 297*56.7; Иначе Конвертер.ВысотаСтраницы = 297*56.7; Конвертер.ШиринаСтраницы = 210*56.7; КонецЕсли; Конвертер.КоличествоБитНаПиксел = 24; //Йоксель.Показать(1); Конвертер.Документ = Йоксель; //это табличный документ от йокселя Конвертер.ПолеСлева = 450; Конвертер.ПолеСверху = 300; Конвертер.ПолеСправа = 0; Конвертер.ПолеСнизу = 300; Конвертер.ЗаписатьВФайл(КаталогДляЗаписи); Йоксель.Очистить(); Возврат Ошибка; КонецФункции // ПодготовитьФайл |
|||
9
arkber84
29.11.17
✎
09:13
|
(8) Спасибо))). Доработал твой код и решил проблему с масштабом по ширине.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |