ExcelVBAについて質問です。Excelのsheet1にあるデータ(A1:A10)をこのシートごとmhtファイルで保存しており、その保存したmhtファイルのソースをExcelVBAで取得したいです。Line Input #で取得自体はできるのですが、変なところで文字化けが発生して困っています。このmhtファイルを①手動で開いて右クリック→ソースを表示すると何も問題ないソースが表示されるのですが、mhtファイルを②閉じた状態でファイルを右クリック→テキストで開くと、ソースが一定の幅で折り返され、その折り返し部分のソースが文字化けしおかしいことに気づきました。テキストファイルの中に表がありその中にソースが入っているような感じで、テキストファイルのウィンドウの表示幅には関係ありません。他にも、折り返し部分とは別に、所々に3Dという文字もソースの中に現れておりますが、こちらは規則性がわかりません。会社のPCはネット書込み禁止のため、VBAの記載が出来ず申し訳ないです。Excel365、webはEdgeを使用しています。上記の①で表示できている問題ないソースをExcelVBAで取得したく、どうかお力添え頂けますと幸いです。

Excel

1件の回答

回答を書く

1256701

2026-02-23 10:50

+ フォロー

文字化けは文字コードが原因です。

ブラウザによってデフォルトの文字コードが設定されており、ブラウザはUTF-8を前提としていることが多い為、必然的にHTML,CSS,JSなどはUTF-8が殆どです。

しかしVBAのOpenステートメントでは標準がShift-JISの為、mhtファイルを特に指定なしに読み込むと、文字化けを起こしている状況かと思います。FSOやADODBで UTF-8を指定して読み込んで見てください。

Excel/vba/file/file10.htm">http://officetanaka.net/Excel/vba/file/file10.htm

個人的には、そもそも「セルの内容だけを吐き出しており」「後からVBAで操作する前提」なのであればcsvやxlsxで保存した方が適切かとは思います。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有