Страницы: 1
RSS
Разметка страницы VBA, Не могу программно разметить страницы
 
Доброго дня!

Пол дня бьюсь над задачей - разметить для печати или выгрузки в pdf страницу.

Во вложении инвойс, который заполняется данными автоматически, т.е. ширина окончательной таблицы неизвестна.
Нужно "вписать все столбцы на одну страницу", длинна документа при этом не важна.
На первой странице - то что имеется, на второй - то, что хотелось бы

Помогите, пожалуйста, с этим кусочком кода, никак не могу найти решение, поиск по форуму дал только:

With Worksheets("Sheet1").PageSetup
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With

К сожалению, такой метод не сработал....
На других форумах нашла обсуждение по сходной теме, говорят, что дело может быть в версии офиса, и что в 2007 . FitToPagesWide работает, а в 2013 - нет...
Изменено: Татьяна Агафонова - 01.08.2017 16:57:47
 
Доброе время суток.
Как минимум, у вас не совпадают имена листов - в вашем файле "ИИнвENG01"
Лучше выложите файл с вашими попытками использовать код.
 
Цитата
Андрей VG написал:
Как минимум, у вас не совпадают имена листов - в вашем файле "ИИнвENG01"
Да, этот кусочек кода из справки microsoft. Мой код, в который я пытаюсь встроить эту задачу, очень большой.

Вот так я пыталась его использовать:

   With ActiveSheet.PageSetup
       .Zoom = False
       .FitToPagesWide = 1
       .FitToPagesTall = 1
   End With
 
У меня так отработало. Пришлось переключение видов делать, иначе не обновлялось положение разбивки листа
Код
Sub PrintW()
    With ActiveSheet.PageSetup
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1000
    End With
    ActiveWindow.View = xlPageLayoutView
    ActiveWindow.View = xlPageBreakPreview
End Sub

Успехов.
 
Цитата
Андрей VG написал:
У меня так отработало. Пришлось переключение видов делать, иначе не обновлялось положение разбивки листа
Ооо, это прекрасно! Спасибо!
Заменила переключение видов на Application.PrintCommunication = False/True - Работает!

 Application.PrintCommunication = False
   With ActiveSheet.PageSetup
       .Zoom = False
       .FitToPagesWide = 1
       .FitToPagesTall = 1000
   End With
Application.PrintCommunication = True

Спасибо Вам!
Страницы: 1
Наверх