電子書籍の厳選無料作品が豊富!

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

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

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

よろしくお願いします。

A 回答 (3件)

.LoadFromFile "vntFileName"


変数なので
.LoadFromFile vntFileName
でお試しを。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/05/19 15:51

xlAPP.GetOpenFilename


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

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!