Board logo

標題: [發問] 如何用變數取代路徑文字 [打印本頁]

作者: dreamsway    時間: 2018-10-25 21:15     標題: 如何用變數取代路徑文字

本帖最後由 dreamsway 於 2018-10-25 21:17 編輯

各位前輩好,我透過錄製巨集的方式記錄了匯入外部資料的動作,呈現以下內容
  1.     'With ActiveSheet.QueryTables.Add(Connection:= _
  2.         "TEXT;C:\API\20181018\TXFK8\20181018_Match.txt", Destination:=Range("$A$2"))
  3.         .name = "20181018_Match"
複製代碼
想詢問如何透過變數的方式來取代路徑的文字呢?
其中20181018這個數字為當日的日期、TXFK8這個文字為Sht1.Range("A4")儲存格內的文字
爬了教學文章後試著寫出以下內容
  1. Dim d As Date, n As String
  2. d = DateValue '好像要給格式範例
  3. n = Sht1.Range("A4")

  4.     With ActiveSheet.QueryTables.Add(Connection:= _
  5.         "TEXT;C:\" & "API" & "\" & d & "\"& n & "\" & d & "_Match.txt"", Destination:=sht2.Range("$A$2"))
  6.         .name = "d & "_Match""
複製代碼
此巨集沒反應,尤其是_Match這個底線一直顯示為不正確字元
請問該如何調整呢,謝謝!
作者: 准提部林    時間: 2018-10-26 11:03

Dim d As String, n As String
d = Format(Date, "yyyymmdd")
n = Sht1.Range("A4")
With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;C:\API\" & d & "\" & n & "\" & d & "_Match.txt", Destination:=sht2.Range("A2"))
    .Name = d & "_Match"

End With
作者: rouber590324    時間: 2018-10-26 11:05

試試
"TEXT;C:\API\"& Year(Now) & Month(Now) & Day(Now) &"\" & SHEET1.RANGE("A4") & "\" & Year(Now) & Month(Now) & Day(Now)&"_Match.txt"
作者: dreamsway    時間: 2018-10-27 00:44

謝謝兩位前輩的分享,小弟電腦的OFFICE剛安裝了新版本,介面操作有些許不同,怕程式代碼也跟著些微不同,待確認後再回復後續,謝謝!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)