Не могу установить PageSetup.Orientation = xlLandscape из MS Project

Используя VBA в MS Project 2003, я создаю лист Excel и записываю в него данные. После этого я хочу изменить SetPrintArea и ориентацию листа, который я создал, поэтому я написал

with xlsheet                         '// Defined being an Excel.Worksheet
    For i = 1 To .UsedRange.Columns.Count
        .Columns(i).EntireColumn.AutoFit
    Next i
    txtPrintArea = txtPrintArea & "$" & xlCol.Row  '// I created the range to print before
    With .PageSetup
        .Orientation = xlLandscape
        .PrintArea = xlSheet.UsedRange.Address
    End With
End With

Вылетает при заявлении.Orientation. Если я это прокомментирую, то он вылетает в строке.PrintArea. Я пришел к выводу, что он не может установить любое свойство.PageSetup

Как я могу указать PrintArea?

2 ответа

Я установил PDF-принтер BullZip и после этого.PageSetup.Orientation работает. Похоже, PageSetup НУЖЕН установить принтер.

Вы делаете правильные вещи.

Почему вы устанавливаете txtPrintArea, но затем устанавливаете.PrintArea = xlSheet.UsedRange.Address???

В противном случае вам нужно будет разместить больше кода в качестве примера. Я создал следующее на основе вашего вопроса, и это сработало для меня:

Set xlSheet = Sheet1
Set xlCol = Sheet1.Rows(1)
txtPrintArea = "A"
With xlSheet                         '// Defined being an Excel.Worksheet
    xlSheet.UsedRange.Columns.EntireColumn.AutoFit
    txtPrintArea = txtPrintArea & "$" & Trim(Str(xlCol.Row)) + ":b2"   '// I created the range to print before
    With .PageSetup
        .Orientation = xlLandscape
        .PrintArea = txtPrintArea '//xlSheet.UsedRange.Address
    End With
End With
Другие вопросы по тегам