Bu yardımcı olur umarım. Buna göre tahmin yapabilirsiniz.
Sub Openfile()
Dim MyFolder As String
Dim MyFile As String
'The code below opens up the specified folder.
'Replace the pathway with your own.
'Keep the explorer.exe string.
Call Shell("explorer.exe" & " " & "C:\Users\mvanover\Desktop\Test", vbNormalFocus)
'The code below opens up every excel file with .xlsx extension in the MyFolder path.
MyFolder = "C:\Users\mvanover\Desktop\Test"
MyFile = Dir(MyFolder & "\*.xlsx")
Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile
MyFile = Dir
Loop
End Sub
Güncelleme:
Tüm klasör makro özellikli çalışma kitabında bulunan hücrelerde isimler ve makro bir nesneye bu değerleri ayarlamak girişi de olabilir. Daha sonra bu nesneyi kabuk işlevinde bulunan dizenizin sonuna ekleyebilirsiniz. Bir örnek aşağıda gösterilmiştir: Bu durumda, her bir klasör adı geçmesi ve buna göre açacak kolay bir döngü kurmak olabilir
Call Shell("explorer.exe" & " " & "C:\Users\mvanover\Desktop\Test\" & FolderName, vbNormalFocus)
. Bu döngü içindeki kodunuz, çalıştırmak istediğiniz kodu çalıştıran ve/veya her bir klasörü kapatan tüm/bir excel çalışma kitabını/kitaplarını açmayı içerir. yanı klasörleri kapatılması için kod aşağıda gösterilmiştir:
Private Const CLOSE_WIN = &H10
Dim Hwnd As Long
Private Declare Function apiFindWindow _
Lib "user32" Alias "FindWindowA" _
(ByVal lpClassname As String, _
ByVal lpWindowName As String) _
As Long
Private Declare Function apiPostMessage _
Lib "user32" Alias "PostMessageA" _
(ByVal Hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) _
As Long
Maalesef:
Call Shell("explorer.exe" & " " & "C:\Users\mvanover\Desktop\Test\" & FolderName, vbNormalFocus)
DoEvents
Hwnd = apiFindWindow("CabinetWClass", vbNullString)
Dim retval As Long
If (Hwnd) Then
retval = apiPostMessage(Hwnd, CLOSE_WIN, 0, ByVal 0&)
End If
çalışmaz yanı da alt deyimi önce aşağıda gösterilen kodu veya kapanış klasör kodu ekleyin Bütün bu yeni kod hakkında. Açmakla karşılaştırıldığında bir klasörü kapatmak çok daha zor. kapanış kodu F8 ile hata ayıklama yaparken çalışıyor.