Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: 1С77 сохранить в Excel с масштабом странице по "ширине страницы"

v7: 1С77 сохранить в Excel с масштабом странице по "ширине страницы"
Я
   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.
   aka AMIGO
 
2 - 28.11.17 - 09:10
Если в Excel стартовать режим макросов и выполнить такую операцию, то решение найдется.
   arkber84
 
3 - 28.11.17 - 10:04
(2) В екселе макрос делал.   и все работает. Тут ошибка в  разрешениях.  Уточню. Процедура в 1С77  открывает существующий ексель файл, меняет настройки страницы(масштаб), затем  конвертирует в pdf и сохраняет.
   Масянька
 
4 - 28.11.17 - 10:54
(3) А сначала (наверное) сохраняет в excel...
   arkber84
 
5 - 28.11.17 - 13:14
(4) и до сохранения и после пробывал.
   Масянька
 
6 - 28.11.17 - 17:37
(5) Сразу в pdf религия не позволяет?
   arkber84
 
7 - 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;
    Конвертер.ЗаписатьВФайл(КаталогДляЗаписи);    

    Йоксель.Очистить();

    Возврат Ошибка;
    
КонецФункции// ПодготовитьФайл
   arkber84
 
9 - 29.11.17 - 09:13
(8) Спасибо))). Доработал твой код и решил проблему с масштабом по ширине.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует