
VBAでWebページをMHTMLファイルで保存して、Chromeで表示がしたいです。
VBAでWebページをMHTMLで保存するマクロは下記の通りで保存ができました。
---------------------------
Public Sub GetUrlPerfectWeb(ByVal downLoadURL As String, ByVal outFileName As String)
Const cdoSuppressNone As Long = 0
Const adSaveCreateOverWrite As Long = 2
Dim msg As Object ' // CDO.Message
Dim stm As Object ' // ADODB.Stream
Set msg = CreateObject("CDO.Message")
msg.CreateMHTMLBody downLoadURL, cdoSuppressNone, "", ""
Set stm = msg.GetStream
stm.SaveToFile outFileName, adSaveCreateOverWrite
stm.Close
Set stm = Nothing
Set msg = Nothing
End Sub
---------------------------
上記で保存したファイルをIE9だと表示できるのですが、Chromeだとファイルの中身?の文字列がそのまま表示されてしまい、テキストエディタで開いた様な状態になってしまいます。VBAで保存したMHTMLファイルをChromeで表示できるようにするにはどうしたらよいでしょうか?
Chromeが悪いのか、VBAが悪いのか分からない状況ですが、こちらに投稿させていただきます。
なお、ChromeはデフォでMHTMLファイルは表示できないので、以下を参考にMHTMLを有効化しています。
http://qiita.com/takoratta/items/aa943b35ce5a439 …
また、ChromeでCtr+SからMhtml形式で保存したファイルはChromeでもIEでも表示できます。
--
エクセル2013
Chrome バージョン 46.0.2490.86 m
IE 9.0.8...
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
具体的な対処方法ではありませんが・・・。
MHTMLだからということではなく、HTMLでもCGIから出力すると同様の現象が起こる場合があります。
CGIの場合だと、ファイル出力の先頭で「Content-type:text/html」を出力してから出力します。
これを忘れると、IEでは表示されるがChromeではソースが表示されてしまいます。
本来は出力が必要な項目なのですが、IEはあいまいに出来ていて表示出来てしまいます。
VBAはマイクロソフトが開発していますので、その辺があいまいになっている可能性があり、
あくまでも想像ですが、VBAの問題だと思います。
解決方法がわかりませんが、参考になれば・・・。
ありがとうございます。
VBAで保存したMHTMLファイルは
「Content-Type: multipart/related;」となっており、
ChromeのCtr+Sで保存した場合は
「Content-Type: multipart/related;
type="text/html";」
となっていたため、試しに、VBAで保存したファイルをテキストエディタで開いて、「type="text/html";」を追加してみましたが、動作は同じでした。やなりVBAで保存したMHTMLファイルはChromeでは開けませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 3個のfileのセルデータを1個のfileのセルに貼り付けるVBAコードですが。 1 2023/02/20 09:21
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
“ファイルに出力”した印刷ファ...
-
COBOL FILLER
-
Access2000クエリーをExcelに出...
-
コマンドプロンプトのテキスト...
-
回路図エディタのBSchで作った...
-
CSV形式で保存するとファイ...
-
TransferSpreadsheetでフルパス...
-
.htaccessによるディレクトリ内...
-
iTextでPDFを表示させたら日本...
-
エクセルVBAでMHTMLで保存したW...
-
Thunderbird 受信メールからの...
-
HP500デザインジェットを...
-
マクロについて質問です。 現在...
-
CSVファイルをブラウザで、...
-
accessのリポートを、excelに出...
-
VB6LEを使ってのファイル出力に...
-
44行目: パラメータ '__format'...
-
LTSpiceの出力データを取り扱う...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
コマンドプロンプトのテキスト...
-
Thunderbird 受信メールからの...
-
COBOL、項目末尾に空白がある場...
-
Acrobat参照設定
-
AccessのレポートからPDFをペー...
-
VB6.0でExcel,PDF,Word出力方法
-
CSV形式で保存するとファイ...
-
ショートカットで起動した場合...
-
エクセルが裏で動いたままなん...
-
iTextでPDFを表示させたら日本...
-
COBOL FILLER
-
エクセルVBAでMHTMLで保存したW...
-
accessのリポートを、excelに出...
-
ファイナルカットで編集した動...
-
TransferSpreadsheetでフルパス...
-
Net::SMTPだけで添付ファイルつ...
-
WshShellから起動したbat(ftp)...
-
ACCESS2002(or2003)の日付表示...
おすすめ情報