我正在使用 CSV 檔案(由 Thing Party 程式生成)作為外部資料來源,並且我想從巨集更改其路徑...我該怎麼做?
我的問題的另一個可接受的答案是指定相對於 excel 檔案的路徑的方法(尚未找到方法),因為在我的情況下,csv 和 xls 都位於同一目錄中。
答案1
Sub Import()
Dim FilePath As String
FilePath = "TEXT;C:\directory\" & Cells(1, 1).Value
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:=FilePath, Destination:=Range("$A$1"))
.Name = "Book1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
當您將檔案(例如 book3.csv)放入sheet1 A1 中時,這將建立一個包含資料的新工作表;您將 C:\directory 變更為輸入所在的目錄,並且可以變更第 5 行「範圍」中的輸出範圍
此外,第 3 行「Cells(1,1) 表示輸入單元格,因此您可以根據需要從 Sheet1 A1 更改它。您需要在引用單元格中指示檔案副檔名,否則它將不知道要讀取哪個文件只需執行此宏,您將獲得一個包含目標資料的新工作表,如果您需要新工作簿或將其插入現有工作表,請告訴我。
另外,如果您查看屬性,這是一個逗號分隔的文件,您可以更改它,或者只記錄您自己的巨集(開發人員選項卡 -> 記錄巨集)並在頂部插入 FilePath 類型命令並更改連接命令