VB6からExcelを開く、そのExcelファイルを指定したプリンタで印刷したいと
おもっているのですが、うまく行かないのでご教授お願いします。
PrintOutの引数の中にプリンタを指定できるようなのでやってみましたが駄目でした。
よろしくお願いします
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim PT As Printer
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(App.Path & "\test.xls")
Set xlSheet = xlBook.Worksheets(1)
'プリンタを指定
PT = "EPSON PM-3700"
xlSheet.PrintOut (PT)
>Dim PT As Printer
と定義してるけど、VB6のPinterオブジェクトは「通常使用するプリンタ」しか
確か割り当てられなかったはず
Excel VBAでは、確かにPrintOutメソッドでプリンタを指定できるみたいだけど
メソッドの引数が違うみたいだし、プリンタ名もパターン的に違うっぽい
(上で書かれてるのはポート名が無い)
更に言うと、PrintOutでプリンタを指定するのはObjectではなく、あくまで
「プリンタ名」なのでStringのはず
サクッと検索しただけで下のようなサイトは引っ掛かったので、見てみよう
http://www.big.or.jp/~seto/vbaref/vbaref8.htm
まずは、Application.ActivePrinterをうまく使って、プリンタ名を
把握した方が良いかと
それから、PrintOutメソッドの引数を合わせてみよう
ボケ防止の超初心者です。的外れだったら笑ってやってください。
プリントアウトするモノが決まったら、たとえば【印刷】コマンドボタンを
クリックで印刷のコモンダイアログを出し、そこでプリンターを選択する手
を爺さんは使っているのですが・・。