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

Информационные технологии ::

Метки:

Excel: как сделать FitToPagesWide=1 и Zoom=False?

Я
   romix
 
24.05.04 - 17:08
Хочу чтобы при печати таблица Excel влезла на одну страницу. Делаю так:
           xl.ActiveSheet.PageSetup.LeftMargin=0.5;
           xl.ActiveSheet.PageSetup.RightMargin=0.5;
           xl.ActiveSheet.PageSetup.Orientation=2; //xlLandscape
           xl.ActiveSheet.PageSetup.FitToPagesWide=1;
           xl.ActiveSheet.PageSetup.Zoom=0; //Здесь пишет ошибку:
xl.ActiveSheet.PageSetup.Zoom=0;
{D:\ЛИФТЫ1\EXTFORMS\РАСШИФРОВКАСИГНАЛОВ.ERT(118)}: Microsoft Excel: Нельзя установить свойство Zoom класса PageSetup

В макрорекордере это выглядит как .Zoom=False
Кто-нибудь сталкивался, и как это можно вылечить?
В таблицах MXL все с этим нормально, а в Ёкселе как всегда лезут непонятные траблы...
 
  Рекламное место пустует
   romakinp
1 - 27.10.04 - 11:54
В EXCEL свойство PageSetup.ZOOM имеет тип Variant и воспринимает 0 как пустое значение, а не как логическое False. 1С значение False непосредственно передать через OLE не может.

У меня проблема решена следующим образом:
- в отдельной книге EXCEL стр.xls написал макрос Макрос1:
sub Макрос1()
   ActiveSheet.PageSetup.Zoom = False
end sub

Для вызова макроса методом RUN книга с макросом должна быть открыта до открытия обрабатываемых книг:
   Макрос=Эксель.Workbooks.Open(КаталогИБ()+"стр.xls");

Для масштабирования активного листа при печати используется метод RUN:
   Эксель.RUN("стр.xls!Макрос1");

После окончания обработки книга с макросом закрывается:
   Макрос.Close();

Пока других вариантов решения описанной проблемы не нашел


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