返回列表 上一主題 發帖

[發問] 請教一下此句巨集錯誤如何改?

回復 1# t8899
  1. Option Explicit
  2. Sub Ma3333()
  3.     Dim A As Workbook
  4.     Set A = Workbooks.Open("v:\program\supertsc\" & Format(Date, "eemmdd"))
  5.     Workbooks.Open Filename:="a - 5.xls"
  6.     'Workbooks.Open Filename:="a - 5" & ".xls"  '或是
  7.     Workbooks("a - 5" & ".xls").Activate
  8.     'Workbooks("a - 5.xls").Activate            '或是
  9. End Sub
  10. Sub Macro2()  '1.假如開的檔案存在則跳到123的語法是???
  11.     '2只能開到 1030401 , 接下是 1030399  不是 1030331  ****看不懂???
  12.     Dim k As Integer, A As String
  13.     For k = 1 To 15
  14.     A = "v:\program\supertsc" & "\" & Format(Date, "eemmdd") - k & ".xls"  '完整的路徑檔案名稱
  15.     If Dir(A) <> "" Then   '檔案存在則 Dir(A)傳回 檔案名稱
  16.         Workbooks.Open A
  17.         Exit For   '離開回圈
  18.         ' GoTo 123 '或是 到 123
  19.     End If
  20.   Next
  21. 123:
  22. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2014-4-7 20:53 編輯

回復 4# t8899
  1. Format(Date - k, "eemmdd")
複製代碼
當前的所在目錄沒有這檔案,會有應用程式或物件定義錯誤
  1. MsgBox CurDir  '當前的所在目錄
  2. Workbooks.Open Filename:="a - 5.xls"
  3. 'Workbooks.Open Filename:="完整路徑檔案名稱.xls"
複製代碼
檔案名稱的後面有多餘的也加入符合條件的判斷,要怎麼改?
  1. Option Explicit
  2. Sub Ex()
  3.     Dim k
  4.     k = "1030407.xls"
  5.     If k Like "#######.xls" Then MsgBox k   '# ->數字
  6.     k = "1030407.xls"
  7.     If k Like "######.xls" Then MsgBox k    '? ->字元
  8.     k = "1030407 adef.xls"
  9.     If k Like "####### ????.xls" Then MsgBox k
  10.     k = "1030407 adef.xls"
  11.     If k Like "####### ???.xls" Then MsgBox k
  12.     k = "1030407 bf.xls"
  13.     If k Like "####### ??.xls" Then MsgBox k
  14.     k = "1030407 bf.xls"
  15.     If k Like "####### ???.xls" Then MsgBox k
  16. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# t8899
Set ->指定變數為物件
  1. Set A = Workbooks.Open("v:\program\supertsc\" & Format(Date, "eemmdd"))
複製代碼
Workbooks.Open 是開啟檔案的指令
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 9# t8899
  1.    Dim K As Integer, B As String
  2.     For K = 0 To 0
  3.     B = "v:\program\supertsc" & "\" & 1030403 - K & "?????" & ".xls" '完整的路徑檔案名稱
  4.     '請你必須知道  1030403 - K & "?????" & ".xls" <> 1030403注意有問題.xls
  5.         [o1] = B
  6.          MsgBOX Dir(B)   '可知檔案是否存在
  7.          If Dir(B) <> "" Then
  8.       Workbooks.Open Filename:=B
  9.        end if
  10.         next

  11. 檔名為 1030403注意有問題.xls
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 11# t8899
  1. Option Explicit
  2. Sub Ex()
  3.     Dim S As String
  4.     S = Dir("C:\*.xls")   '傳回字串: 副檔名為xls的檔案
  5.     Do While S <> ""
  6.         If S Like "1030415*" Then MsgBox S
  7.         S = Dir            '繼續依上一次的條件, 傳回字串: 副檔名為xls的檔案
  8.     Loop
  9. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 謊言像一朵盛開的鮮花,外表美麗,生命短暫。
返回列表 上一主題