/ /ランタイムエラー1004エクセルはこの外部範囲を更新するためのテキストファイルを見つけることができません - エクセル、vba、エクセルvba、エクセル2010、エクセル2007

実行時エラー1004 Excelは、この外部範囲を更新するためのテキストファイルを見つけることができません。 - excel、vba、excel-vba、excel-2010、excel-2007

VBAでData => From Textオプションを使ってテキストファイルとしてインポートすることで、フォルダ内のtsvファイルをxlsx形式に変換しようとしています。

その間にこのエラーが発生しました

ここに画像の説明を入力

ここに画像の説明を入力

コード:

Sub convert()

Dim CSVfolder As String, XlsFolder As String, fname As String, wBook As Workbook

CSVfolder = ActiveSheet.Range("B2").Value & ""

fname = Dir(CSVfolder & "*.tsv")

Do While fname <> ""
Workbooks.Add

Set wBook = ActiveWorkbook

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & fname, Destination:=Range("$A$1"))
.Name = fname
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

wBook.Close False
fname = Dir

Loop
End Sub

エンドサブ


なぜエラーが発生するのですか BackgroundQueryをリフレッシュする:= False

回答:

回答№1は2

エラーが発生しています そこ として」 Refresh ファイルを探す段階。

問題は、 Fname パスが含まれていません。

接続を次のように変更してください。

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & CSVfolder & fname, Destination....