Не могу установить 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