前提・実現したいこと
ExcelVBAでテキストファイルを読み込もうとしています。
最初はFileSystemObjectで開いていたのですが、ファイル形式がUTF-8だったので、ADODB.Streamで開きたいと思いました。
ですが、ADODB.Streamに変更するとエラーを吐いて進めなくなりました。
エラーの原因と解決方法を教えていただけますでしょうか。
###バージョン
Microsoft Office 365
発生している問題・エラーメッセージ
実行時エラー '3002': ファイルを開けませんでした。
このエラーが出たのですが、FileSystemObjectのときとADODB.Streamのときでファイルは変わらないので開けない理由がわかりません。
該当のソースコード
####FileSystemObjectの場合
VBA
1Dim FSO As Object 2Set FSO = CreateObject("Scripting.FileSystemObject") 3Dim fpath As String 4Dim buf As String 5fpath="C:/Users/test/Documents/test/test.html" 6With FSO.GetFile(fpath).OpenAsTextStream 7 buf=.ReadAll 8 .Close 9End With 10
こちらは正常に動きます。(文字化けはしますが)
####ADODB.Streamの場合
VBA
1Dim fpath As String 2Dim buf As String 3fpath="C:/Users/test/Documents/test/test.html" 4With CreateObject("ADODB.Stream") 5 .Charset="UTF-8" 6 .Open 7 .LoadFromFile fpath 8 buf=.ReadText 9 .Close 10End With
こちらのソースだとエラーを吐きます。
デバックで確認したところ、.LoadFromFile fpath
のところが黄色になります。
###試したこと
ツールの参照設定からMicrosoft ActiveX Data Object 2.8 Library を参照するようにする
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。