无法从MS Project中设置PageSetup.Orientation = xlLandscape

在MS Project 2003中使用VBA我创build一个Excel工作表并向其写入数据。 之后,我想改变我创build的工作表的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?

我安装了BullZip PDF打印机,然后.PageSetup.Orientation正常工作。 所以看来PageSetup需要安装打印机。

你正在做正确的事情。

你为什么设置txtPrintArea,然后设置.PrintArea = xlSheet.UsedRange.Address ???

否则,你需要发布更多的代码作为例子。 我根据你的问题创build了以下内容,它对我有用:

 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