[VBA ] 開啟檔案的路徑隨迴圈改變的問題(已解決)

看板Visual_Basic作者 (神的小羊)時間12年前 (2012/07/16 16:47), 編輯推噓0(0012)
留言12則, 4人參與, 最新討論串1/1
以下是我的程式碼 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

07/16 17:29, , 1F
workbook.open filename:=address
07/16 17:29, 1F

07/16 17:29, , 2F
連接字串不要用 + ,改用 & 。注意 & 前後一定要留空白。
07/16 17:29, 2F

07/16 17:30, , 3F
嗯,抱歉,這招好像沒用。 XD
07/16 17:30, 3F

07/16 17:40, , 4F
感謝樓上兩位 然後試了一樓那個方法也無法Q_Q
07/16 17:40, 4F

07/16 23:32, , 5F
windows("2498").close改為 book.close false
07/16 23:32, 5F
※ 編輯: lalalada 來自: 140.112.24.54 (07/17 15:14)

07/17 15:51, , 6F
喔,Str()那是BASICA的餘毒,用format()也可以避過
07/17 15:51, 6F

07/17 16:38, , 7F
原來如此@@!
07/17 16:38, 7F

07/17 20:42, , 8F
那一個空白是用來放正負號的 當時(1980年代)他們設計沒
07/17 20:42, 8F

07/17 20:42, , 9F
正負號的時候也留下那個空白 後來為了相容性一直保留
07/17 20:42, 9F

07/17 23:33, , 10F
哇噢 你好博學@@ 那麼久以前的事了呢
07/17 23:33, 10F

07/18 01:11, , 11F
小時候玩過而已。摸的還我青春… >(=)
07/18 01:11, 11F

07/18 15:58, , 12F
XD
07/18 15:58, 12F
文章代碼(AID): #1G0zKx9G (Visual_Basic)
文章代碼(AID): #1G0zKx9G (Visual_Basic)