標題:
請問開啟舊檔如何搭配迴圈使用
[打印本頁]
作者:
xyzw7
時間:
2011-7-18 08:57
標題:
請問如何在開啟舊檔的路徑中加入變數以搭配迴圈使用
各位大大好:
我想請問:
如何在開啟舊檔的路徑中加入變數以搭配迴圈使用 ?
我的程式如下:
Sub 相互比較找平均值()
Workbooks.Open "D:\不同材料的pattern比較 20110704\pkg_foam_pol_v01\
[email protected]
"
Workbooks.Open "D:\不同材料的pattern比較 20110704\Pink_EPP_15_pol_v01\
[email protected]
"
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\
[email protected]
"
Workbooks.Open "D:\不同材料的pattern比較 20110704\EPP_15_pol_02\
[email protected]
"
Workbooks.Open "D:\不同材料的pattern比較 20110704\clutter\clutter
[email protected]
"
在上面路徑中的 「0.6」就是我想加入變數的地方?
問題 : 1. for loop 中的 step 以 0.1 變化呢?
2. 如何開啟 巨集? 目前是用手動方式指到 巨集 存放路徑!
謝謝 各位大大 的解惑
作者:
GBKEE
時間:
2011-7-18 09:45
回復
1#
xyzw7
試試看
Sub Ex()
Dim MyPath As String, Fs As Object, xlFolder As Object, xlfile As Object
With Application.FileDialog(msoFileDialogFolderPicker) '檔案對話方塊-> 限定資料夾
.AllowMultiSelect = False '限定單一選擇
.Show '顯示 檔案對話方塊
If .SelectedItems.Count = 0 Then Exit Sub '沒選擇離開程式
MyPath = .SelectedItems(1) '所選擇的資料夾
End With
'FileSystemObject 物件 提供對電腦檔案系統的存取。
Set Fs = CreateObject("Scripting.FileSystemObject").GetFolder(MyPath) '取得指定路徑中文字件夾相對應到的 Folder(資料夾) 物件。
For Each xlFolder In Fs.subfolders 'Fs.subfolders -> Fs的資料夾集合物件
'Each xlFolder 依序處裡每一子資料夾
For Each xlfile In xlFolder.Files 'xlFolder.Files 每一子資料夾的檔案集合物件
'Each xlfile 依序處裡每一子資料夾的檔案
If xlfile.Name Like "*@0.#*.csv" Then Workbooks.Open xlfile.FullName
'xlfile.Name Like "*@0.#*.csv" 檔案名稱相似的文字格式
'* 代表 零個以上的字元 ,# 任一個數字(0-9)。
Next
Next
End Sub
複製代碼
作者:
xyzw7
時間:
2011-7-19 22:18
感謝大大的回覆!!
1.我想請問一下如果我有7個資料夾要開啟,我想利用檔名中的數字的改變來開啟不同的檔案,不知可行嗎?
例如:
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\
[email protected]
" =>開啟第一個檔案
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\
[email protected]
" =>開啟第二個檔案
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\
[email protected]
" => 開啟第三個檔案
2. 如何在vba中以寫程式方式 開啟巨集 (目前我是用手動方式開啟巨集)?
感謝各位大大
作者:
xyzw7
時間:
2011-7-19 22:22
再補充第一個問題:因為我要開啟舊檔很多,不知道用何種「迴圈」來開啟檔比較好!
作者:
xyzw7
時間:
2011-7-21 18:34
標題:
請問開啟舊檔如何搭配迴圈使用
各位大大好:
我想請問:
1.我想請問一下如果我有7個資料夾要開啟,我想利用檔名中的數字的改變來開啟不同的檔案,不知可行嗎?
例如:
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\
[email protected]
" =>開啟第一個檔案
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\
[email protected]
" =>開啟第二個檔案
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\
[email protected]
" => 開啟第三個檔案
因為我要開啟舊檔很多,不知道用何種「迴圈」來開啟檔比較好!因為我要開啟舊檔很多,不知道用何種「迴圈」來開啟檔比較好!
2. 如何在vba中以寫程式方式 開啟巨集 (目前我是用手動方式開啟巨集)?
感謝各位大大
作者:
play9091
時間:
2011-7-21 18:40
本帖最後由 play9091 於 2011-7-21 19:17 編輯
下面有一貼問題是差不多的,可以試試看……或許是你的需求。
請問開啟舊檔如何搭配迴圈使用
而我個人這幾天寫了一個超級巨大的VBA,I7+SSD跑也要一分半才跑完。裡面也要寫到用迴圈開啟舊檔這個部分把檔案丟上來大家參考一下……
我的方法比較笨!我先把路俓在工作表裡面輸入好,用迴圈去取出路俓,再開啟檔案……簡單範例如下…
Sub name_test()
For I = 4 To 10
'叫出KPI報告
KPI = Workbooks("路俓版").Sheets("工作表3").Range("D" & I).Value
Workbooks.Open (KPI)
Set KPI = Nothing
KPI = ActiveWorkbook.name
Workbooks(KPI).Close SaveChanges:=True
Set KPI = Nothing
複製代碼
P.S.我個人比較想知道的是如何用VBA取出檔案路俓(不開啟檔案的情況下……),多問的……
驚突然發現問的人是同一個!!!
作者:
oobird
時間:
2011-7-21 19:41
for i = 0.6 to 0.9 step 0.1
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\OF_Form_pol_v01
@" & i & "
GHz.csv"
作者:
GBKEE
時間:
2011-7-21 19:52
本帖最後由 GBKEE 於 2011-7-22 08:09 編輯
回復
3#
xyzw7
給你的回文: 你也沒說何不合用 , 你是有7
個檔案
還是7個
資料夾
這是不一樣的
要回文 請按 [回覆] 按鈕 答覆你的人才會得到通知 ,知道你有發文
你要的是這樣嗎>
Sub Ex()
Dim i As Integer
For i = 6 To 6 + 6
Workbooks.Open "D:\不同材料的pattern比較 20110704\OF_Form_pol_v01\OF_Form_pol_v01@0." & i /10 & "GHz.csv" '>= 開啟第一個檔案
Next
End Sub
複製代碼
作者:
xyzw7
時間:
2011-7-22 18:08
回復
8#
GBKEE
謝謝大大教導!
我是有七個資料夾,每個資料夾中有一百個多個檔案要開啟!
在請問大大:
如何在vba中以寫程式方式 開啟巨集 (目前我是用手動方式開啟巨集)?
感謝大大的回覆
作者:
xyzw7
時間:
2011-7-22 18:11
回復
7#
oobird
請問大大:
你這樣子變數要如何設定呢?我有試過你這樣子的方式,可是在step後面的數字會變成 ####
請問如何決解呢?
作者:
xyzw7
時間:
2011-7-22 18:15
回復
6#
play9091
很感謝謝大大大回覆,目前因為我的等級不夠,不能下載您上傳的資料,可以請您把檔案寄到
[email protected]
的信箱中嗎?
很謝謝您!
作者:
GBKEE
時間:
2011-7-22 19:59
本帖最後由 GBKEE 於 2011-7-22 20:03 編輯
回復
9#
xyzw7
七個資料夾
是放在一個
主
資料夾下嗎? 2樓的程式就是如此設計的你有試過嗎? 可以嗎? 有問題再說!
1.工具->巨集
2.可在工作表插入物件(圖片 ,快取圖案..等)後, 按下右鍵 ->指定巨集
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)