5

VB6 アドインのソース コードをプログラムで印刷するにはどうすればよいですか? オブジェクト ブラウザで VBIDE の印刷またはプレビュー メソッドを見つけることができません。

Google で高低を検索しましたが、VBIDE コード モジュールの印刷に関する情報が奇妙に不足しています。PrettyPrint はたくさんヒットしますが、それだけです。欠落が大きすぎて、完全に欠けている基本的な概念があるのではないかと思います。

Herb がhttps://stackoverflow.com/a/41034211/2705042で言及した O'Reilly の本のコピーを怖がらせましたが、ソース コードの印刷については言及されていません。私が確認できる唯一の方法は、コードをテキスト ファイルにエクスポートし、VBIDE とは無関係の通常の方法でそれらを印刷することです。

また、Chip Pearson の VBE ガイド ( http://www.cpearson.com/excel/vbe.aspx ) も確認しましたが、これは VBIDE とほぼ同じですが、私が言及したアイデア以外に、コードを印刷する手がかりはありません。テキストファイルに保存してから印刷します。

** 理想的には、既存の VB6 の [ファイル] > [印刷] ダイアログにチェックボックスを 1 つ追加して使用したいと考えています。私は、既存のダイアログにコントロールを追加することは別のトピックであることを認識しており、印刷ダイアログの独自のバージョンを作成することを嫌いではありません。

4

1 に答える 1

2

CommandBarButton プロキシと SendKeys で可能です。

Print CommandBarControl へのハンドルを取得するのは簡単ですが、ボタンを押すと途中でダイアログがスローされるため、SendKeys を使用してオプションを設定し、フォームを送信する必要があります....

次のようなコードを使用できます。

Dim printCommand As CommandBarControl
Set printCommand = Application.VBE.CommandBars.FindControl(ID:=4)

printCommand.Execute

'Yep, SendKeys, erghhh
Application.SendKeys "P" 'Force the whole project to print
Application.SendKeys "{ENTER}"
于 2016-12-29T00:51:08.947 に答える