VB6のPrinterオブジェクト

VB6 + ActiveReport2.0の環境で開発している案件の時にふとはまったこと。

Printer.TextWidth(strTarget) 

と対象文字列の印刷幅を知りたかったのだけど、これを記述すると実行時にエラーになる。
プリンタによるのかと思い 印刷対象のプリンタを変えてみても同じ。

よくよく調べてみるとActiveReportにもPrinterオブジェクトがある。
しかもそのPrinterオブジェクトには、TextWidthのメソッドが無い。
それはエラーになるはずだ・・・

VBオブジェクトのPrinterを参照しなければならないので、
VB.Printer.TextWidth(strTarget) 
~~↑これを追加することでエラーにならず追加できた。

“VB.”を省略するとデフォルトのPrinterは”ActiverReport”のPrinterになるらしい。

今後はこの環境でPrinterを使う場合は気をつけなければ。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*