VB6 Printer オブジェクト の不具合?かな。。

WindowsXP(Pro)VB6(SP6)でPrinterオブジェクトで、printメソッドを使おうとしたら、メソッド一覧(自動メンバ表示)に出てこない!! いったい何が起こっているのでしょう??
もちろん無理矢理入力すると、エラーが出ます。
考えられる原因をご教授いただけましたら幸いです。。。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:bmkage No.1

回答回数55ベストアンサー獲得回数0

ポイント40pt

※上記URLで表示される質問文だけじゃなく、ページ下部にリンクされている(返信文書)の内容(2件)もご覧下さい。


まず、Printerオブジェクトで、printメソッドが出ない件についてなのですが、MSDNライブラリの文書をいろいろ調べていると

・printメソッドはDebugオブジェクトのメソッドである(これはちゃんと記述があります。)

・ただし、printメソッドの「対象」となるオブジェクトにPrinterオブジェクトも含まれる

(ごめんなさい。これは憶測です)


であるために、[printerオブジェクトのメソッドではないけれど、printメソッドが使用可能]という状態なんじゃないかと思います。

(MSDNライブラリ内の、「Printerオブジェクトを使用した印刷」の例の文書にもPrinter.Printという記述例が出ています。)


こちらで簡単に確認したところ


Private Sub Command1_Click()

  Printer.Print ”Printer test”

  Printer.EndDoc

End Sub


という記述なら、うまくいきそうでした。

(当方プリンタが壊れているので確認できませんが、スプールに溜まるとこまでは確認しました)


で、本題なのですが、印刷部分のソースを、withステートメントを使用して


With Printer

  .Print ”Printer test”

  .EndDoc

End With


のように記述していませんか?

withで囲んでしまうと

「メソッドまたはデータ メンバが見つかりません。」

のエラーになります。

(このことが上記URL内で記述されています。)


よって、withで囲まないで書けばOKだと思うのですが。


的外れだったらごめんなさい。

id:Sweet

まさにWith Printerで記述していました。

しかし、printの基本思想がDebug用とは。。

で、一般的にはprintの代わりに使うものは何なのかが気になるところです。

2005/12/19 14:39:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません