アクセスカウンタ

プロフィール

Author:croissant3

カテゴリー

最近の記事

月別アーカイブ(タブ)

最近のコメント

最近のトラックバック

月別アーカイブ

ブロとも申請フォーム

この人とブロともになる

月別アーカイブ

カレンダー

11 | 2016/12 | 01
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

小さな天気予報


-天気予報コム- -FC2-

全ての記事を表示する

全ての記事を表示する

PCノンセクションの10♪
PCに関することを色々と。っつうか最近VBネタばっかorz
スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
↑参考になったら拍手よろろ
VBでmht保存(その1)

先日資格取得の為にクラムメディア(www.crammedia.com)の問題集を購入。
WEBで表示される問題と解答を保存したいと思い
ちまちまとローカルのHDDにmht形式で保存していたのだが、
結構めんどい。

フリーソフトの「Webよ止まれ ?EternalWeb?」というツールの使用もあるがファイル名の指定に困ってしまう。orz

仕方がないのでまたいつもの様に家内制手工業(自作)です。



とりあえずmht保存の方法を調べてみる

(1) CDO.Message オブジェクトで直接URLを指定して保存

  Set CDO=WScript.CreateObject("CDO.Message")
  Const adSaveCreateOverWrite = 2
  CDO.CreateMHTMLBody "http://www.yahoo.co.jp"
  CDO.GetStream.SaveToFile "C:\test.mht",adSaveCreateOverWrite

  この方法が一番簡単。
  CreateMHTLBodyの引数でユーザ、パスワードの指定は可能。
  しかしこの単純な認証作業で突破できないサイトは結構あるため
  クラムメディアでは試してないがおそらくこの方法は×。orz
  


(2) 「名前を付けて保存」を利用

  VBの画面にWebBrowserコントロールを貼り付けて、ページを表示して
  Me.WebBrowser.ExecWB を叩けば保存が出来る。

  Me.WebBrowserMain.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_PROMPTUSER
  ※引数は適当に弄って下さい。

  しかしExecWBでは画像付きのhtmlファイルで保存することは出来たが
  mhtで保存出来ない様子。orz



(3) (2)を改良、ExecWBを利用して「名前を付けて保存」ダイアログを表示、
  入力部分はSendMessageなどで自動化。

  この方法だと
  保存ファイル名の入力はSendMessageでWM_SETTEXTを飛ばせばOK!

  コンボボックスでファイル形式にmhtを指定する事は
  SendMessageで出来たが・・mht形式で保存されず。orz
  コンボボックスを変更しただけではリストビューまで変更されないせいか?

  結局コンボボックスの変更を
  原始的にSendKeysを使ったところうまく出来ました。


保存方法についてはこれでOK。
スポンサーサイト
↑参考になったら拍手よろろ

テーマ:プログラミング - ジャンル:コンピュータ

■ この記事に対するコメント

■ この記事に対するコメントの投稿














管理者にだけ表示を許可する。


■ この記事に対するトラックバック
トラックバックURL
→http://croissant3.blog66.fc2.com/tb.php/48-de3fff61
この記事にトラックバックする。(FC2ブログユーザー)
ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

メールフォーム

名前:
メール:
件名:
本文:



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。