これはシンプルであるべきだと感じます。コンピューターに .HTML ファイルが保存されていて、ファイル全体を文字列に読み込もうとしています。超簡単にやってみると
Dim FileAsString as string
Open "C:\Myfile.HTML" for input as #1
Input #1, FileAsString
Close #1
debug.print FileAsString
ファイル全体を取得できません。最初の数行しか取得できません (すぐにウィンドウが切れることはわかっていますが、それは問題ではありません。ファイル全体を文字列に取り込んでいるわけではありません。) また、ファイル システム オブジェクトを使用する別の方法を使用してみました。同様の結果が得られましたが、今回は多くの奇妙な文字と疑問符が投入されました。これは、おそらく何らかのエンコードの問題であると思われます。(率直に言って、私はそれが何を意味するのか完全には理解していません。さまざまなエンコード形式があり、これが文字列の解析で問題を引き起こす可能性があることは知っていますが、それだけです。)
より一般的には、ここで私が本当に知りたいことは次のとおりです。vba を使用して、任意の拡張子 (テキスト エディターで表示できる) と長さ (VBA の文字列制限を超えない) のファイルを開く方法を教えてください。基本的なテキスト エディターで表示される文字が文字列に読み込まれることを確認してください。(それが(簡単に)できない場合は、.htmlファイルで機能する可能性が高い方法を指摘していただければ幸いです)ご協力いただきありがとうございます
編集:提案された方法を使用するとどうなるかの例を次に示します。具体的には
Dim oFSO As Object
Dim oFS As Object, sText As String
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFS = oFSO.OpenTextFile(Path)
Do Until oFS.AtEndOfStream
sText = oFS.ReadAll()
Loop
FileToString = sText
Set oFSO = Nothing
Set oFS = Nothing
End Function
最初 (メッセージ ボックス経由) と最後 (即時ウィンドウ経由) の両方をお見せします。どちらの場合も、クロムで表示された html ソースのスクリーン キャプチャと比較します。
始まり:
終わり: