[爆卦]vba開啟檔案路徑是什麼?優點缺點精華區懶人包

為什麼這篇vba開啟檔案路徑鄉民發文收入到精華區:因為在vba開啟檔案路徑這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者lalalada (神的小羊)看板Visual_Basic標題[VBA ] 開啟檔案的路徑隨迴圈...


以下是我的程式碼

Dim code As String, address As String, book As Workbook, As Worksheet
For x = 1 To 10
Worksheets.Add
code = str(Sheets("Datasource").Cells(x + 1, 6).Value)
On Error Resume Next
ActiveSheet.name = code
msgbox code
address = "C:\" + code + ".csv"
msgbox address
Set book = Application.Workbooks.Open(address)
ActiveSheet.Range("A1:G5000").Copy
Windows("Trading.xls").Activate
Range("A1").Select
ActiveSheet.Paste
Windows("2498").Close
Next

本來是希望能夠由迴圈自動打開檔案

並複製資料然後貼到對應的活頁簿裡

目前碰到的問題在於我沒辦法用上述方式指定路徑

用.Open("C:\2498.CSV")可以正確執行所有功能

但是將路徑指定成變數之後則無法 即.Open(address)

用msgbox檢查code跟address變數 顯示出來卻又是對的

請問該怎麼辦呢? 感謝!!

------------------------------------------------
經過了n小時的努力終於找到癥結點了!

關鍵在於str()函數會再轉換成字串後自動加一個空格在左邊...

難怪我顯示出來覺得間距有點寬= =

必須改用CStr()

感謝大家的幫忙!!

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.24.104
Catbert:workbook.open filename:=address 07/16 17:29
MOONRAKER:連接字串不要用 + ,改用 & 。注意 & 前後一定要留空白。 07/16 17:29
MOONRAKER:嗯,抱歉,這招好像沒用。 XD 07/16 17:30
lalalada:感謝樓上兩位 然後試了一樓那個方法也無法Q_Q 07/16 17:40
knstt:windows("2498").close改為 book.close false 07/16 23:32
※ 編輯: lalalada 來自: 140.112.24.54 (07/17 15:14)
MOONRAKER:喔,Str()那是BASICA的餘毒,用format()也可以避過 07/17 15:51
lalalada:原來如此@@! 07/17 16:38
MOONRAKER:那一個空白是用來放正負號的 當時(1980年代)他們設計沒 07/17 20:42
MOONRAKER:正負號的時候也留下那個空白 後來為了相容性一直保留 07/17 20:42
lalalada:哇噢 你好博學@@ 那麼久以前的事了呢 07/17 23:33
MOONRAKER:小時候玩過而已。摸的還我青春… >(=) 07/18 01:11
lalalada:XD 07/18 15:58

你可能也想看看

搜尋相關網站