[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/01/12(Wed) 10:59
投稿者名:わたる
Eメール:
URL :
タイトル:
パスの書き方を変えるとエラーが・・・
フォームからコモンダイアログでcsvファイルを選択し
そのファイルのパスを引数としてエクセルマクロに渡しています。
このとき、マクロ側のソースに直接csvファイル名を書き込むと
正常に処理が走るのですが、パスを変数に代入して記述すると

「.Refresh BackgroundQuery:=True」の部分で

実行時エラー'1004'
外部データ範囲を更新するためのテキストファイルが見つかりません。
テキストファイルが移動または名前が変更されていないことを確認し、再度実行してください。

というエラーが出てしまいます。
違いは、直接パスを書くか何かに代入して書くかの違いなのですが
解決方法が分かりません。
どなたか分かる方がいましたら教えていただきたいと思います。


    path = "D:\test\NITC.csv"
    Range("A1").Select
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;path", _
        Destination:=Range("A1"))
        .Name = "NITC"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 932
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, _
        1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=True     'ここでエラーが出てしまう
        
    End With

投稿時間:2005/01/12(Wed) 11:41
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: パスの書き方を変えるとエラーが・・・
>     With ActiveSheet.QueryTables.Add(Connection:="TEXT;path", _

よく見て下さい。このときの path は変数ではなく単なる文字列です

   With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & path, _  

では、どうですか?

投稿時間:2005/01/12(Wed) 11:59
投稿者名:わたる
Eメール:
URL :
タイトル:
Re^2: パスの書き方を変えるとエラーが・・・
花ちゃんさん、解決できました。
本当にありがとうございます!

というよりも、こんな初歩的なミスをしていた自分が情けないです^^;
今後はもう少し確認してから質問なり何なりしたいと思います。

ありがとうございました!