2012-06-22 22 views
9

Ben belirli bir klasördeki tüm dosyaları açmak istiyor ve aşağıdaki kodu var tüm dosyaları açmakmakro - bir klasör

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 

Ben sorun sadece ilk dosyayı açmaya çalışırken tutmasıdır klasör tekrar tekrar ve devam etmeyecek. Herkes yardım edebilir, VBA’da biraz acemi olabilir ve bazı yardımlarla gerçekten yapabilirim. .xlsx biçiminde olan yaklaşık 30 rapor açmaya çalışıyorum. Şimdiden çok teşekkürler.

+0

Bir klasördeki tüm dosyaları aynı anda açmak ister misiniz? –

cevap

20

sadece loop

MyFile = Dir 
Loop 
+0

Merhaba Siddharth, bu mükemmel çalışıyor. Çok teşekkür ederim –

+4

Merhaba, Ross ve StackOverflow'a hoş geldiniz! Burada, yanıtlarının yanındaki 'yanıt olarak kabul et' düğmesini tıklayarak kullanıcılara teşekkür etmek alışılmışın bir örneğidir. Büyük bir onay işareti gibi şekillendirildi. Bu sayede yardımcınız size yardımcı olması için bir ödül olarak puan alır ve yardımsever bir Soru-Cevap sayfasına katkıda bulunmak için kredi alırsınız. –

1

aşağıdaki kodu deneyin önce bu satırı eklemek zorunda:

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 
0

Sen döngü onay açıklamada Len(StrFile) > 0 kullanabilirsiniz!

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