Board logo

標題: [發問] [已解決]關於 如何選擇多個檔案後依序執行巨集 [打印本頁]

作者: starry1314    時間: 2015-6-25 14:46     標題: [已解決]關於 如何選擇多個檔案後依序執行巨集

本帖最後由 starry1314 於 2015-6-25 15:01 編輯

想請問如何讓選取到的檔案依序執行完我要的巨集在關閉檔案後 繼續執行下一個檔案重複到無檔案為止呢?

解決方案
  1. Sub 開啟多個檔案()

  2.    Dim filenames As Variant

  3.    ' set the array to a variable and the True is for multi-select
  4.    filenames = Application.GetOpenFilename(, , , , True)

  5.       counter = 1

  6.       ' 選擇總共要開啟的檔案
  7.       While counter <= UBound(filenames)

  8.          '打開選定的文件,且不更新連結
  9.          Workbooks.Open filenames(counter), UpdateLinks:=0
  10.          
  11.          '巨集
  12.          
  13.          '關閉選擇的檔案
  14.          ActiveWorkbook.Close True
  15.          
  16.          
  17.          ' 消息框 顯示文件名
  18.          'MsgBox filenames(counter)

  19.          '開啟新檔案
  20.          counter = counter + 1

  21.       Wend
  22.    End Sub
複製代碼
開啟所有選擇的檔案
  1.    Sub 開啟多個檔案()

  2.    Dim filenames As Variant

  3.    ' set the array to a variable and the True is for multi-select
  4.    filenames = Application.GetOpenFilename(, , , , True)

  5.       counter = 1

  6.       ' 選擇總共要開啟的檔案
  7.       While counter <= UBound(filenames)

  8.          '打開選定的文件
  9.          Workbooks.Open filenames(counter)

  10.          ' 消息框 顯示文件名
  11.          'MsgBox filenames(counter)

  12.          '開啟新檔案
  13.          counter = counter + 1

  14.       Wend
  15.    End Sub
複製代碼
此程式為讀取檔案路徑,並在H1依序往下貼上路徑
  1. Sub 開啟檔案_Click()
  2.     With Application.FileDialog(msoFileDialogOpen)
  3.         .InitialFileName = "\\boss-pc\公用磁區"
  4.         .AllowMultiSelect = True
  5.         .Show
  6.         For i = 1 To .SelectedItems.Count
  7.             Cells(i, 7) = .SelectedItems(i) 'i=列 7=欄
  8.             'MsgBox .SelectedItems(i) '讀取到的資訊
  9.         Next
  10.     End With
  11. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)