19

指定したフォルダー内のすべてのファイルを開き、次のコードを作成したい

Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "\\ILAFILESERVER\Public\Documents\Renewable Energy\FiTs\1 Planning
           Department\Marks Tracker\Quality Control Reports"
MyFile = Dir(MyFolder & "\*.xlsx")
Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile
Loop
End Sub

私が抱えている問題は、フォルダー内の最初のファイルを繰り返し開こうとし続け、先に進まないことです。誰でも助けてもらえますか、私はVBAの初心者であり、いくつかの支援があれば本当にできます。すべて .xlsx 形式の約 30 のレポートを開こうとしています。よろしくお願いします。

4

3 に答える 3

30

直前にこの行を追加する必要がありますloop

    MyFile = Dir
Loop
于 2012-06-22T08:58:35.040 に答える
3

Len(StrFile) > 0ループチェック文で使える!

Sub openMyfile()

    Dim Source As String
    Dim StrFile As String

    'do not forget last backslash in source directory.
    Source = "E:\Planning\03\"
    StrFile = Dir(Source)

    Do While Len(StrFile) > 0                        
        Workbooks.Open Filename:=Source & StrFile
        StrFile = Dir()
    Loop
End Sub
于 2015-05-19T04:25:32.413 に答える
1

以下のコードを試してください。

Sub opendfiles()

Dim myfile As Variant
Dim counter As Integer
Dim path As String

myfolder = "D:\temp\"
ChDir myfolder
myfile = Application.GetOpenFilename(, , , , True)
counter = 1
If IsNumeric(myfile) = True Then
    MsgBox "No files selected"
End If
While counter <= UBound(myfile)
    path = myfile(counter)
    Workbooks.Open path
    counter = counter + 1
Wend

End Sub
于 2013-02-15T09:37:14.550 に答える