返回列表 上一主題 發帖

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

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

本帖最後由 t8899 於 2014-4-7 14:34 編輯

Sub Ma3333()
Dim a As String
set a=v:\program\supertsc" & "\" & Format(Date, "eemmdd)
Workbooks.Open Filename:="a - 5 & ".xls"
"a - 5 & ".xls".Activate

End Sub
另外一個問題
Sub Macro2()
for k=1 to 15
On Error Resume Next
Workbooks.Open Filename:="v:\program\supertsc" & "\" & Format(Date, "eemmdd")-k & ".xls"
  next
123:
End Sub
1.假如開的檔案存在則跳到123的語法是???
2只能開到 1030401 , 接下是 1030399  不是 1030331??

回復 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 15:58
2只能開到 1030401 , 接下是 1030399  不是 1030331  ****看不懂???

當K=8 傳回是 v:\program\supertsc\1030399.xls
不是 v:\program\supertsc\1030331.xls ??

TOP

回復  t8899
GBKEE 發表於 2014-4-7 15:58


Set A = Workbooks.Open("v:\program\supertsc\" & Format(Date, "eemmdd")) 此行執行完就會開啟檔案1030407.XLS
導致下一行 Workbooks.Open Filename:="a - 5.xls"
出問題==>"應用程式或物件定義錯誤??

TOP

本帖最後由 t8899 於 2014-4-7 20:40 編輯
回復  t8899
GBKEE 發表於 2014-4-7 15:58
A = "v:\program\supertsc" & "\" & Format(Date, "eemmdd") - k & ".xls"  '完整的路徑檔案名稱
    If Dir(A) <> "" Then

檔案名稱的後面有多餘的也加入符合條件的判斷,要怎麼改?
又要如何開啟正確的檔案名稱?
1030407.xls
1030407adef.xls
1030407bf.xls

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

回復  t8899 當前的所在目錄沒有這檔案,會有應用程式或物件定義錯誤
GBKEE 發表於 2014-4-7 20:33

為何set 指令就會執行開啟的動作?(還沒真正執行open)

TOP

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

TOP

本帖最後由 t8899 於 2014-4-8 06:51 編輯
回復  t8899 當前的所在目錄沒有這檔案,會有應用程式或物件定義錯誤檔案名稱的後面有多餘的也加入符合條件的 ...
GBKEE 發表於 2014-4-7 20:33

    Dim K As Integer, B As String
    For K = 0 To 0
    B = "v:\program\supertsc" & "\" & 1030403 - K & "?????" & ".xls" '完整的路徑檔案名稱
        [o1] = B
         If Dir(B) <> "" Then
      Workbooks.Open Filename:=B
       end if
        next

檔名為 1030403注意有問題.xls
檢查檔案有過
但開檔過不了 ?

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

        靜思自在 : 欣賞別人就是莊嚴自己。
返回列表 上一主題