在MS Project 2003中使用VBA我創建一個Excel工作表並向其中寫入數據。 那之後,我想改變我創建的表的SetPrintArea和方向,所以我寫了無法從MS Project中設置PageSetup.Orientation = xlLandscape
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?
如果您逐步瀏覽代碼,您是否可以在監視窗口中看到xlSheet.PageSetup上的PrintArea和Orientation屬性? – dendarii 2009-10-21 14:23:20
另外,您不需要代碼中的循環來設置列寬。您可以使用下面的一行:.UsedRange.Columns.EntireColumn.AutoFit – dendarii 2009-10-21 14:24:02
.UsedRange.Columns.EntireColumn.AutoFit確實比較好。但在我的「真實代碼」中,我只需要.UsedRange的一部分,所以我只是從循環中刪除了起始列,以簡化我在此發佈的代碼。 – user191093 2009-10-22 11:41:51