はじめまして。
WebBrowserコントロールを使って印刷しようとしているのですが、
WebBrowserコントロールの印刷時の「ヘッダー」を、
VisualBasicで変更することはできるのでしょうか?
IEでは「ファイル」-「ページ設定」で変更するのですが、
VBで直接変更したいのですが。
よろしくお願いいたします。
Formにボタンを2つ、インターネットコントロールをひとつ配置して
Private Sub Command1_Click()
WebBrowser1.GoHome
End Sub
Private Sub Command2_Click()
Call WebBrowser1.ExecWB(OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT)
End Sub
''''''''''''''''''''ここまで
Command1>Command2の順に押してください。
(ページが表示されていないとエラーがでるので)
さっそくお返事いただき、ありがとうございます。
ページ設定の画面はできましたが、ここのヘッダーやフッターの値を
ページ設定の画面を出さずに直接変更する方法はあるのでしょうか。
できればこのウィンドウを出さずに変更したいのですが。
よろしくお願いいたします。
MSDNの
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie55/html/wb_print.asp
にて、この問題に触れています。(英語)
(http://www.microsoft.com/japan/msdn/web/scripting/dhtmlprint.asp)
(こっちにもちょろっと書いてあります。(日本語))
基本的にはできないようです。
書いてある通り、ヘッダ、フッタに関してはレジストリのデフォルト値をいじるかフックするしかない。
また下のdhtmlprint.aspでは
「われわれは非表示の「ページ設定ダイアログ」を呼び出し、
ユーザーであるかのように設定の取得/変更を行います。
それだけなのです(ただし、コードが安全になるように
注意して作ってありますが)。」
と書いてあります。
MSDN側の方はフックするCのDLLと、そのサンプルのVBもあるので
それが参考になるかもしれません(あんまり読んでません(^^;)
wb_print03.exeとwb_print04.exeがそれです。
コンパイルしてできあがるActiveXDll(かな?)のメンバに
HeaderやらFooterやらがあるので、これを使えば実現できそうです。
参考までに。
お返事遅くなり、失礼いたしました。
情報ありがとうございます。
とりあえず、とても難しいということはわかりました。
レジストリの値もレジストリエディタで関係ありそうなところを探したんですが、
結局見つけることができず、当面はダイアログを表示することにしようと思います。
また何か情報がありましたらよろしくお願いいたします。
いろいろと、ありがとうございました。
ツイート | ![]() |