みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excel vba でファイルの読み込み失敗

タイトルの通り、ファイルの読み込みがうまくいきません。

Dim objStrm As Object
Dim strTmp As String
Dim i As Integer
Const ReadLine As Integer = -2, ReadAll As Integer = -1
Set objStrm = CreateObject("ADODB.Stream")

Set xlAPP = Application
' 「ファイルを開く」のダイアログでファイル名の指定を受ける
xlAPP.StatusBar = "読み込むファイル名を指定して下さい。"
vntFileName = xlAPP.GetOpenFilename(FileFilter:=cnsFILTER, Title:=cnsTITLE)

With objStrm
.Charset = "UTF-8" 'charsetを変える?ISO-2022-JP→shift-jis→utf-8
.LineSeparator = -1 'CR=13, LF=10, CRLF=-1
.Open
'.LoadFromFile "C:\****" 'ここの値を直接取得する←これはうまくいく
.LoadFromFile "vntFileName" 'ここの値をダイアログで取得する←エラー
End With

Do Until objStrm.EOS
i = i + 1
Cells(i, 1) = objStrm.ReadText(ReadLine)
Loop
objStrm.Close: Set objStrm = Nothing

色々教えて頂きまして、プログラムを組んだのですが、ダイアログの読み込み部分がうまくいきません。
直接データアドレスを入力すると、上手くいきます。
何とかダイアログから読み込めるようにできないでしょうか?

よろしくお願いします。

投稿日時 - 2012-05-18 15:22:14

QNo.7482498

すぐに回答ほしいです

質問者が選んだベストアンサー

.LoadFromFile "vntFileName"
変数なので
.LoadFromFile vntFileName
でお試しを。

投稿日時 - 2012-05-18 21:14:39

お礼

ありがとうございます!
できました^^

投稿日時 - 2012-05-19 15:51:17

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

xlAPP.GetOpenFilename
のところで
MultiSelect:=False
を指定していないから、戻り値が配列になっているのでは?
.Open辺りでブレークして、イミディエイトウィンドウでvntFileNameがどうなっているのか見てみるといいかもしれません。

投稿日時 - 2012-05-18 17:02:03

ANo.1

ファイルのパスが必要とか?

投稿日時 - 2012-05-18 15:49:54

あなたにオススメの質問