VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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ファイルを
>印刷する、というのが最終目的なのですが・・・。
これについては、私には、なんとも言えません。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -