投稿日 | : 2005/02/14(Mon) 02:45 |
投稿者 | : Wendy |
Eメール | : |
URL | : |
タイトル | : Re^5: 既存Excelファイルの印刷 |
夜分失礼します。
今、たまたま読んでいたのですが、その原因は初歩的なことだと思うのです。
「参照設定」で、事前バインディングしているのでしたら、CreateObject
は使いません。
「参照設定」をせずに、実行時バインディングをするなら、CreateObject
を使って、xlApp などは、すべて、Object 型になります。
ただし、Excel起動時で、開いているブックを使うなら、いずれにしても、
GetObjectで、開いているブックを取り出してください。
Private Sub Command1_Click()
'On Error Resume Next
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("C:\Test.xls")
'xlApp.Visible = True 'しなくても可能だと思います。
'あまり印刷範囲の大きなシートの場合は、様子をみてください。
Set xlSheet = xlBook.Worksheets(1)
xlSheet.PrintOut
'xlSheet.SaveAs "c:\Test.xls"
'終了処理
xlBook.Close
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
たぶん、こういうようになるはずです。
うまく行かなかったらすみません。
>RS-232C経由で通信している機器と、データのやりとりを
>しています。
>その機器からの信号を受けて、表題のExcelファイルを
>印刷する、というのが最終目的なのですが・・・。
これについては、私には、なんとも言えません。