1

MS Project 2003でVBAを使用して、Excelシートを作成し、それにデータを書き込みます。その後、作成したシートのSetPrintAreaとOrientationを変更したいので、

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を指定するにはどうすればよいですか?

4

2 に答える 2

1

BullZip PDFプリンターをインストールした後、.PageSetup.Orientationが機能します。したがって、PageSetupにはプリンタをインストールする必要があるようです。

于 2009-10-26T09:50:50.847 に答える
0

あなたは正しいことをしています。

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
于 2009-10-21T21:42:09.487 に答える