我目前正在從VBA腳本加載4個colums從兩個不同文件的內容。我希望腳本能夠在名稱上使用正則表達式來查找文件。我知道在我的兩個文件的標題中,我必須有「XM7」或「XM8」。所以我希望從這些文件中加載列。這裏是我的代碼:正則表達式加載來自不同文件的數據
Sub charge_fiche()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim titre As String
Dim wbk1 As Workbook
Dim wbk2 As Workbook
Dim wbk3 As Workbook
Dim Chemin As String
Chemin = ThisWorkbook.Path
titre2 = "run2_tps_nuit_xm7_01062016"
titre3 = "run2_tps_nuit_xm8_01062016"
Set wbk1 = ThisWorkbook
Set wbk2 = Workbooks.Open(Chemin & "\" & titre2) ' jouvre le classeur (titre)
Set wbk3 = Workbooks.Open(Chemin & "\" & titre3) ' jouvre le classeur (titre)
wbk1.Sheets(1).Range("A1:A1000").Value = wbk2.Sheets(1).Range("B1:B1000").Value
wbk1.Sheets(1).Range("B1:B1000").Value = wbk2.Sheets(1).Range("H1:H1000").Value
wbk1.Sheets(1).Range("C1:C1000").Value = wbk2.Sheets(1).Range("L1:L1000").Value
wbk1.Sheets(1).Range("D1:D1000").Value = wbk2.Sheets(1).Range("M1:M1000").Value
wbk1.Sheets(1).Range("E1:E1000").Value = wbk3.Sheets(1).Range("B1:B1000").Value
wbk1.Sheets(1).Range("F1:F1000").Value = wbk3.Sheets(1).Range("H1:H1000").Value
wbk1.Sheets(1).Range("G1:G1000").Value = wbk3.Sheets(1).Range("L1:L1000").Value
wbk1.Sheets(1).Range("H1:H1000").Value = wbk3.Sheets(1).Range("M1:M1000").Value
wbk2.Close
wbk3.Close
它現在的工作,但我希望的東西來代替行 「titre2」 和 「titre3」 像
titre2 = "\wxm7\w.xls"
或
titre3 = [0-9a-zA-Z_]*" & xm8 & " [0-9a-zA-Z_]* & ".xls"
但也其中的作品。你有什麼主意嗎 ?
確定,它可能工作,但我仍然無法打開該文件,然後我得到一個errore 1004,因爲它找不到文件,但errore消息中文件的名稱是文件的真實名稱。我應該在Dir之後仍然使用workbooks.open嗎?像這樣'Set wbk3 = Workbooks.Open(Dir(Chemin&「\」&titre3))' –
@NicoBalas'Dir'只返回文件名,而不是整個路徑。我會編輯它 – arcadeprecinct