Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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

Pfad im selben Ordner

Pfad im selben Ordner
15.09.2021 10:10:37
Steffen
Guten Morgen zusammen, ich habe ein Problem bei dem ich gerade nicht weiterkomme hier mein Problem:
Ich möchte ein Zip Datei entpacken, diese liegt im selben Ordner, es funktioniert alles Tadelos, da die Zip aber auf mehreren Computern laufen soll also die Excel Datei möchte ich den Pfad hierzu vereinfacht darstellen, also das Excel schon gleich weiß "Die Zip befindet sich im selben Ordner wohin der Pfad führen soll"
Hier mein bisheriger Code:

Sub entpackmich()
Zipdatei = Sheets("Tabelle2").Range("A2").Value
Programmpfad = Sheets("Tabelle2").Range("A5").Value
Set Sh = CreateObject("shell.application")
Set zip = Sh.Namespace(Zipdatei)
Set unzip = Sh.Namespace(Programmpfad)
unzip.copyhere zip.items
Kill Zipdatei
Application.Quit
End Sub
Also Zipdatei und Programmpfad soll den selben Ordner ansteuern, ich habe bereits versucht ThisWorkbook.Path aber bisher ohne Erfolg leider, weiß jemand eine fixe Lösung?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad im selben Ordner
15.09.2021 10:19:00
Oberschlumpf
Hi Steffen
hier ne fixe Gegenfrage: Woher soll denn der (andere) Computer wissen, in welchen Verzeichnis sich die gesuchte ZIP-Datei befindet?
Denn ich bin sicher, das ZIP-Programm wird auf anderen Computern - nicht unbedingt - im selben Ordner wie auf deinem Computer gespeichert sein.
Als Lösungsansatz würd ich...

Application.GetOpenFilename...
...vorschlagen
Damit wird user aufgefordert, per Dateiauswahl-Dialog die gesuchte ZIP-Datei auszuwählen - dann weiß Excel auch den Speicherpfad der ZIP-Datei.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Pfad im selben Ordner
15.09.2021 10:25:36
Steffen
Finde die Idee ganz gut, werde ich mir doch mal durch den Kopf gehen lassen, allerdings ist mein Vorhaben das ganze so einfach wie möglich für den Anwender zu gestalten, also voll automatisiert, ich hole mal etwas weiter aus was mein Vorhaben ist:
Es handelt sich um eine Excel Datei die manche Prozesse in der Firma vereinfacht und zusammenfasst, sollte ich aber Neuerungen eingebaut haben, möchte ich das jeder Benutzer darüber informiert wird, per Klick auf einen Button wird dann die neueste Datei als ZIP vom Server geladen, eine weitere Excel Datei öffnet sich mit einem Button "Update jetzt starten" er verschiebt die ZIP vom Downloadordner in das Verzeichnis wo die bisherigen Dateien liegen und entpackt diese.
Bisher läuft auch alles einwandfrei, ich habe auch schon eine Userform geschrieben wo der Anwender sonst auch den Pfad selber abspeichern kann und das Script weiß dann auch ganz genau von WO nach WO es genau geht, allerdings würde ich gerne wissen ob es eine Lösung gibt das Excel selbstständig den Pfad erkennt worin alles liegt.
Anzeige
AW: Pfad im selben Ordner
15.09.2021 10:54:28
EtoPHG
Hallo Steffen,
Aus Deinen Formulierungen mit immer wieder 'im selbenOrdner', finde ich keinen Bezug 'zu was für einem Ordner ?'.
Wenn du damit den Ordner meinst, in dem die Arbeitsmappe mit dem Makro gespeichert ist, dann ist dies

ThisWorkbook.Path
.
Gruess Hansueli
AW: Pfad im selben Ordner
15.09.2021 12:01:07
Oberschlumpf
hmm...
Wenn ich dich richtig verstanden habe, dann...
...SOLL die jetzige Excel-Datei (ich nenn sie EINS) durch deine "neue" Excel-Datei (ich nenn sie ZWEI) ersetzt werden, oder?
Dazu muss EINS erst mal geschlossen werden
= das erreichst du schon mit: eine zusätzliche Excel-Datei mit Upload-Button öffnen, EINS schließen, löschen und durch ZWEI ersetzen
ok
daraus ergibt sich
BEVOR EINS geschlossen = Speicherpfad von EINS = ThisWorkbook.Path = diesen Pfad in einer Variablen sichern, bevor EINS geschlossen wird
Speicherpfad von ZWEI = (dir bekannt!) C\user\Downloads (user = username vom aktuellen Anwender)

Kill Variable(mit Speicherpfad von EINS)\Dateiname von EINS
FileCopy C\user\Downloads, Variable (mit Speicherpfad von EINS)
Name Variable(mit Speicherpfad von EINS)\Dateiname von EINS, Variable(mit Speicherpfad von EINS)\neuer Dateiname von EINS (wenn erforderlich)
Hab ich das so richtig verstanden?
Anzeige
AW: Pfad im selben Ordner
15.09.2021 15:12:11
Steffen
Ich glaube ich habe viel zu kompliziert gedacht.... der Tipp mit ThisWorkbook.Path hat mein Problem bereits behoben.
Ich habe es jetzt so gelöst:

Sub entpackmich()
Zipdatei = ThisWorkbook.Path & "\Master.zip"
Programmpfad = ThisWorkbook.Path
Set Sh = CreateObject("shell.application")
Set zip = Sh.Namespace(Zipdatei)
Set unzip = Sh.Namespace(Programmpfad)
unzip.copyhere zip.items
Kill Zipdatei
Application.Quit
End Sub
ich habe dazu vergessen zu erwähnen das ich bereits ein Macro habe welches die Datei aus dem Download Ordner in den Hauptpfad Ordner verschiebt
Der Ablauf ist so nun:
Nach drücken des "UPDATE" Button in der Haupt Excel wird eine weitere Datei geöffnet, diese hat im Workbook. open gleich gleich die Anweisung die Haupt Excel Datei zu schließen...
Dann wird in der nun geöffneten Datei ein button gedrückt mit "UPDATE STARTEN" die .ZIP wird in den Pfad verschoben in denen sich die Excel Dateien befinden, es wird an ein weiteres Macro übergeben welches dann die .ZIP entpackt und die Zip Datei löscht.
Mein Problem ist also behoben.
Ich bedanke mich recht herzlich für eure Antworten!
Liebe Grüße
Anzeige
immer wieder gerne owT
15.09.2021 16:57:23
Oberschlumpf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige