標題:
[發問]
如何寫自動開啟同日期、類似檔案的程式 (已解決)
[打印本頁]
作者:
haoxhui
時間:
2011-3-23 23:39
標題:
如何寫自動開啟同日期、類似檔案的程式 (已解決)
本帖最後由 haoxhui 於 2011-3-26 09:36 編輯
Q:
開啟「2011_03_23」的excel檔後,執行自動開啟「20110323」的檔,
同理
開啟「2011_03_24」的excel檔後,執行自動開啟「20110324」的檔,
請問程式應如何寫呢?
因為兩個系統每天都會各產出一個檔案名稱類似的檔案,
為了比較分析內容,
每天都要重複的開啟比較,
真的很麻煩,
想請教各位高手應如何寫這個程式,
感恩吶~
作者:
GBKEE
時間:
2011-3-24 08:14
回復
1#
haoxhui
Workbooks.Open Replace(ActiveWorkbook.FullName, "_", "")
作者:
haoxhui
時間:
2011-3-24 20:16
回復
2#
GBKEE
版主,您真是太神奇了!
嗯,是太厲害了!
崇拜!崇拜!
我一直在鑽牛角尖,想說檔案名稱應該要怎麼拆字母,
沒想到這麼簡單就解決了....
那我可以問深入一點嗎?
其實兩個檔案名稱分別是:「A_2010_03_23」、「B20100323」
而且分開在兩個資料匣內,
請問這樣程式要怎麼寫呢?
很抱歉我沒有一次敘述清楚,
造成困擾還請見諒!
作者:
FAlonso
時間:
2011-3-24 21:27
Workbooks.Open "C:\Documents and Settings\Administrator\My Documents\A\" & Replace(Replace(ActiveWorkbook.Name, "_", ""), "A", "B")
當中C:\Documents and Settings\Administrator\My Documents\A是B2010xxxx的資料夾位置
作者:
GBKEE
時間:
2011-3-24 21:39
回復
3#
haoxhui
你還沒說明 「A_2010_03_23」、「B20100323」
兩者 是從 A-B 還是 從 B-A 開啟
下列程式碼是
Right(string, length) 傳回一字串右邊特定數量字元所構成的 Variant (String)。
函數的用法
Sub Ex()
Dim A(1), B(1)
A(0) = "D:\"
B(0) = "D\TEST\"
A(1) = "A_2010_03_23"
B(1) = "B20100323"
A(1) = Right(Replace(A(1), "_", ""), 8)
B(1) = Right(B(1), 8)
Workbooks.Open A(0) & A(1)
Workbooks.Open B(0) & B(1)
End Sub
複製代碼
作者:
haoxhui
時間:
2011-3-24 23:10
回復
5#
GBKEE
感謝「版主」和「FAlonso」 大大,
我的檔案是由 A 開 B,
版主所教的replace我會練習的,
剛剛我一直在「揣測」如果有兩個地方以上replace的寫法,
FAlonso大大教了我,非常感謝!
而版主第2個程式感覺是比較有邏輯,
但老實說我是有點看不懂啦,
我會再練習看看的!
而我這個問題我晚上摸索時已經克服了,
我的解決方法有點偷雞,
因為我發現A檔案中有一個固定的欄位會顯示日期,
而且就是B檔案的格式20110323,
所以我將程式寫為:
file_name= Sheets(1).Range("A3").Value
Workbooks.Open filename:="D:\DailyB\B" & file_name
總之特別感謝版主的熱心回覆,
我會針對版主的方法繼續練習及精進的,
感恩再感恩!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)