Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ordner per Makro schließen

Ordner per Makro schließen
27.03.2021 12:33:23
Bastian
Hallo zusammen,
ich habe ein Makro gebastelt:
1. es wird ein bestimmter Ordner geöffnet wo sich die Dateien befinden.
2. im zweiten Schritt wähle ich eine Datei aus und gehe wieder zur Schaltfläche mit der Datei wo sich die Makros befinden zurück.
3. Über das nächste Makro kopiert er die Daten aus der geöffneten Datei in meine Datei und schließt die Datei mit den Daten.
das funktioniert auch alles.
Nun wäre es toll, wenn sich der geöffnete Ordner automatisch schließt. Das ganze sollte in den aktiven Code mit eingebaut werden.
Hätte jemand einen Ansatz?
Sub ()
On Error GoTo Fehlerbehandlung
Windows(2).Activate
Range("A1:AZ150").Select
Selection.Copy
Application.Left = 731.8
Application.Top = 275.2
Windows("1002.xlsm").Activate
ActiveSheet.Paste
Range("B1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("A1").Select
Dim wkb As Workbook
For Each wkb In Workbooks
If wkb.Name  ThisWorkbook.Name Then
wkb.Close savechanges:=False
End If
Next wkb
Fehlerbehandlung:
End Sub
()

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner per Makro schließen
27.03.2021 13:05:37
volti
Hallo Bastian,
Deine Beschreibung "es wird ein bestimmter Ordner geöffnet wo sich die Dateien befinden." kann ich nicht nachvollziehen.
Ordner an sich kann man nicht öffnen, sondern es gibt z.B. den im System aktuellen Ordner (z.B. über ChDir aktiviert) oder es ist ein OrdnerÖffnen-Dialog geöffnet/aktiv oder Du hast den Explorer mit Anzeige der Ordner geöffnet.
Dieses oder mögliche weitere Möglichkeiten sind aus Deinem Code nicht ersichtlich. So ist mir nicht klar, was da nun gemacht werden soll.
Wie genau wurde der Ordner also geöffnet?
viele Grüße
Karl-Heinz

Anzeige
AW: Ordner per Makro schließen
27.03.2021 13:16:58
Bastian
Hallo ,
danke für die schnelle Antwort
hier der Code mit dem ich den Ordner öffne:
Private Sub()
Windows("1002.xlsm").Activate
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect Password:=""
Worksheets("03").Visible = True
Worksheets("03").Select
Dim wks As Worksheet
For Each wks In Worksheets
wks.Unprotect ("")
Next wks
Range("A1").Select
Dim Tabellenblatt As Worksheet
For Each Tabellenblatt In ThisWorkbook.Worksheets
If Tabellenblatt.Name ThisWorkbook.ActiveSheet.Name Then
Tabellenblatt.Visible = xlSheetHidden
End If
Next Tabellenblatt
Application.ScreenUpdating = True
ThisWorkbook.FollowHyperlink "Y:\01\101\"
End Sub
dann wähle ich eine Excel-Datei aus (befinden sich mehrere darin) und öffne Sie.
über ein anderes Makro (wie zuvor gepostet) hole ich mir die Daten.
Ich möchte dass der Ordner 101 (ThisWorkbook.FollowHyperlink "Y:\01\101\") nach dem Datentransfer geschlossen wird.
Ich hoffe ich konnte mein Problem besser erklären

Anzeige
AW: Ordner per Makro schließen
27.03.2021 13:51:34
volti
Hallo Bastian,
es wird der Explorer geöffnet. Den kannst Du m.E. nur via API wieder schließen.
Probiere mal diese Idee hier aus:
Code:

[Cc]

Option Explicit Private Declare PtrSafe Function FindWindowA Lib "user32" ( _ ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr Private Declare PtrSafe Function PostMessageA Lib "user32" ( _ ByVal hwnd As LongPtr, ByVal wMsg As Long, _ ByVal wParam As LongPtr, ByVal lParam As LongPtr) As Long Private Const WM_CLOSE = &H10 Sub ExplorerSchließen(sPfad As String) ' Schließt den Explorer mit dem angegeben Pfad Dim sArr() As String sArr = Split(sPfad, "\") PostMessageA FindWindowA("CabinetWClass", sArr(UBound(sArr))), WM_CLOSE, 0&, 0& End Sub Sub Test() Call ExplorerSchließen("Y:\01\101\") End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz


Anzeige
AW: Ordner per Makro schließen
27.03.2021 13:55:36
volti
Hallo,
ggf. noch das "\" hinten weg...
Sub Test()
Call ExplorerSchließen("Y:\01\101")
End Sub
VG KH

AW: Ordner per Makro schließen
27.03.2021 14:02:12
Nepumuk
Hallo Karl-Heinz,
warum nicht einfach eine "normalen" Öffnen-Dialog?
Gruß
Nepumuk

AW: Ordner per Makro schließen
27.03.2021 15:46:38
volti
Hallo Max,
Du meinst die Verwendung von GetOpenFilename o.ä.?
Sicherlich eine einfachere, excelbuildin Methode, die man dem TE empfehlen kann.
Ich hatte jetzt einfach nur auf die Anfrage "Explorer schließen", der ja durch FollowHyperlink geöffnet wird, ohne weitere Codeanalyse geantwortet.
Gruß
Karl-Heinz

Anzeige
AW: Ordner per Makro schließen
27.03.2021 23:26:27
Bastian
Hallo nochmal,
habe gerade getestet und klappt.
Der Code von volti hat funktioniert.
Aber auch allen anderen nochmal danke für die Zeit und Ideen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige