皆様いつもお世話になっています。
Delphi6Personalです。
WebBrowserで、普通のブラウザのファイルメニューの「名前を付けて保存」の機能として、次のようにしました。
Form1. WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT,a,b);
ところが、小生の場合、保存先とファイル名(例 D:\aaa.html)はコードで指定したいため、保存先のダイアログをいちいち開きたくないのですが、下記のようにしてみたのですが、
Form1.WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER ,a,b);
肝心な保存先ファイル名とパスをどのようにコードでセットするのか解りません。
過去ログに画面に文字列をペーストする例がありますが、Clipboard.AsText := 'D:\aaa.html';ではうまくいきませんでした。
よろしくご指導のほどお願いいたします。m(_ _)m。
>Form1.WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER ,a,b);
このOLE..._DONT を使用してもダイアログは表示されてしまうはずです.
Microsoftのサイト(MSDN)に解説がありました.IE5の時代のものですが,
現在も変わらないと思います.したがって,引数のa,bも無効です.
武田さんの希望する動作を実現するには,今考えたところでは多分以下の
ような方法しかないのではないかと思われます.
(1) 希望の動作をするコンポーネント類を探す.
(2) URLのソースを取得し,そのタグを解析して必要な画像などもDLする
(3) ダイアログの表示はまぬがれないので,このダイアログを画面の見え
ない領域に表示し,そのダイアログに必要な(出力先のファイル名等)
をセットし,[保存]ボタンのクリックを遠隔操作する
以上ですが,その具体的なコードについてはご容赦を...
Mr.XRAY 様いつもご指導いただき有り難うございます。
そうすることにします。少し経緯を書きます。
教えていただいたIEDownloadコンポーネントでDLして、htmlを解析してフォルダ構成を再現してローカルファイルに保存してお気に入りから取り出せるようになりました。ここまできたら欲が出まして、ローカルファイルも保存してお気に入りのノードで管理できないかと考えました。
テキストファイル、一太郎、Wordなど表示するので取り込めました。
また、ブラウザで過去に「名前を付けて保存」したのはhtmlファイルとその画像ファイルがfailsにセットで保存されているので、同じく単体のファイルとして取り込めました。
ところが、過去にFront Pageやhtmlエディタで自作した資料は画像ファイルを同じフォルダに入れているだけなのでWebBrowserで表示はできるので「名前を付けて保存」を実行すれば、htmlと画像がセットになるので管理がしやすくなると考えました。それには保存先をいちいち入力するのも大変だと考えました。コードで自動的に制御できればいいと思った次第です。
これが、だめだとなれば、インターネットでDLして保存しているわけですから同じ扱いで格納すればすみます。
したがって、そうすることにいたします。
有り難うございました。m(_ _)m
ツイート | ![]() |