WebBrowserコントロールの印刷ヘッダーの変更は?


yuhs  2003-03-30 03:47:38  No: 106476

はじめまして。
WebBrowserコントロールを使って印刷しようとしているのですが、
WebBrowserコントロールの印刷時の「ヘッダー」を、
VisualBasicで変更することはできるのでしょうか?

IEでは「ファイル」-「ページ設定」で変更するのですが、
VBで直接変更したいのですが。

よろしくお願いいたします。


Loreley  2003-03-30 14:42:45  No: 106477

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の順に押してください。
(ページが表示されていないとエラーがでるので)


yuhs  2003-03-30 23:28:29  No: 106478

さっそくお返事いただき、ありがとうございます。

ページ設定の画面はできましたが、ここのヘッダーやフッターの値を
ページ設定の画面を出さずに直接変更する方法はあるのでしょうか。
できればこのウィンドウを出さずに変更したいのですが。

よろしくお願いいたします。


Loreley  2003-03-31 08:27:07  No: 106479

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やらがあるので、これを使えば実現できそうです。
参考までに。


yuhs  2003-04-03 17:35:17  No: 106480

お返事遅くなり、失礼いたしました。
情報ありがとうございます。

とりあえず、とても難しいということはわかりました。
レジストリの値もレジストリエディタで関係ありそうなところを探したんですが、
結局見つけることができず、当面はダイアログを表示することにしようと思います。

また何か情報がありましたらよろしくお願いいたします。
いろいろと、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加