VB6で指定したプリンタから印刷するには


のり  2008-05-16 14:36:19  No: 139724  IP: 192.*.*.*

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)

編集 削除
 2008-05-16 14:55:29  No: 139725  IP: 192.*.*.*

>Dim PT As Printer
と定義してるけど、VB6のPinterオブジェクトは「通常使用するプリンタ」しか
確か割り当てられなかったはず
Excel VBAでは、確かにPrintOutメソッドでプリンタを指定できるみたいだけど
メソッドの引数が違うみたいだし、プリンタ名もパターン的に違うっぽい
(上で書かれてるのはポート名が無い)
更に言うと、PrintOutでプリンタを指定するのはObjectではなく、あくまで
「プリンタ名」なのでStringのはず
サクッと検索しただけで下のようなサイトは引っ掛かったので、見てみよう
http://www.big.or.jp/~seto/vbaref/vbaref8.htm
まずは、Application.ActivePrinterをうまく使って、プリンタ名を
把握した方が良いかと
それから、PrintOutメソッドの引数を合わせてみよう

編集 削除
ボケ爺さん  2008-05-21 02:42:31  No: 139726  IP: 192.*.*.*

ボケ防止の超初心者です。的外れだったら笑ってやってください。
プリントアウトするモノが決まったら、たとえば【印刷】コマンドボタンを
クリックで印刷のコモンダイアログを出し、そこでプリンターを選択する手
を爺さんは使っているのですが・・。

編集 削除