返回列表 上一主題 發帖

[發問] 檔名不同如何判斷

[發問] 檔名不同如何判斷

請求各位大大的幫忙
我有個檔案早上會去開起其他檔案撈資料
有一個外單位的檔案突然改了檔名
請問要如何讓系統判斷找不到"檔名A"就去找"檔名B"

這是原先的檔名"日期+空格+名"
六幅異動表.PNG

今天莫名改了檔名"日期+名"
六幅異動表2.PNG

Dim T$, B$, i%
T = "\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\模具異動-六福(急件1.9專用)\"
For i = 0 To 10
   B = Format(Date - i, "yyyy.mm.dd")
   If Dir(T & B & " 每日模具異動.xlsx") <> Empty Then GoTo i01

Next
MsgBox "找不到 " & Date & " ~ " & Date - 10 & " 檔案": Exit Sub
i01: Workbooks.Open filename:=T & B & " 每日模具異動.xlsx", ReadOnly:=True

回復 2# Andy2483

非常感謝Andy2483大大的解惑

我突然想到個問題,如果開啟的檔名跟"複製"&"關閉"的檔名不一樣
執行時是不是會出現異常
'複製2023.04.13 每日模具異動.xlsx中LF工作表的A欄到AG欄
Workbooks(B & " 每日模具異動.xlsx").Worksheets("LF").Columns("A:AG").Cells.Copy

'關閉六幅異動表
Workbooks(B & " 每日模具異動.xlsx").Close

TOP

回復 4# Andy2483


成功了
非常感謝Andy2483大大的解惑

TOP

回復 6# 准提部林

非常感謝准提部林大大的解惑
但是
找不到檔案耶
找步道.PNG
LF.PNG

TOP

回復 9# Andy2483

沒有空白字元
LF.PNG

TOP

回復 6# 准提部林

非常感謝准提部林大大的解惑

我終於看懂准提部林大大提供的語法了
以下是我的認知,如有錯誤還請各位大大指教
這段語法是簡化後面"Cells.Copy" & "Close"的寫法
前面將不同的檔名(不管"每日模具異動.xlsx"前面有沒有空格或_)都設定為Set xBook,這樣後面的執行都只要寫成xBook+........就好
Dim T As String, B As String, i As Integer, xBook As Workbook
T = "\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\模具異動-六福(急件1.9專用)\"
For i = 0 To 10
   B = Format(Date - i, "yyyy.mm.dd")
   If Dir(T & B & "_每日模具異動.xlsx") <> "" Then
      Set xBook = Workbooks.Open(T & B & "_每日模具異動.xlsx", ReadOnly:=True)
      Exit For
      
   ElseIf Dir(T & B & " 每日模具異動.xlsx") <> "" Then
      Set xBook = Workbooks.Open(T & B & " 每日模具異動.xlsx", ReadOnly:=True)
      Exit For
   End If
   
Next
If xBook Is Nothing Then MsgBox "找不到目標檔案": Exit Sub
End If
xBook.Sheets("LF").Columns("A:AG").Cells.Copy
' ~ do something ~
xBook.Close 0

TOP

        靜思自在 : 天上最美是星星,人生最美是溫情。
返回列表 上一主題