Registriert seit: 17.02.2016
Version(en): 2016
Hallo,
ich entpacke auf meinem Computer oft rar-Dateien. Dazu benutze ich die Software WinRar.
Gibt es eine Möglichkeit mittels VBA diese Software so zu steuern, dass ich dies mittels
eines CommandButtons auf einer UserForm erledigen kann?
Ich denke da an Befehle wie Shell etc.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
ja, ich denke schon.
Öffne mal ein cmd-Fenster, gib die entsprechenden Befehle ein, z.B. nur das entpacken oder vorher noch einen Verzeichniswechsel oder ... Wenns funktioniert hat, dann poste das hier und wir schauen es uns an
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 17.02.2016
Version(en): 2016
Hallo Andre,
ja es müßte auf jeden Fall gehen.
nehme ich meine cmd.exe und kopiere sie ins Verzeichnis wo unrar liegt gehts.
unrar liegt dort:
C:\Program Files\WinRAR 3.61 Multi>
Ich brauch dann nur noch den Befehl:
unrar.exe e C:\Z\Test.rar
nachdem Prompt in der cmd.exe eingeben und die Datei wird in das aktuelle Verzeichnis also da wo unrar liegt entpackt.
Der Einbau in VBA hingegen:
Shell "Cmd /c""C:\Program Files\WinRAR 3.61 Multi>unrar.exe e C:\Z\Test.rar"""
ist bislang erfolglos.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
18.02.2018, 17:04
(Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2018, 17:04 von schauan.)
Hallöchen,
erst mal nur zu Fehlern im geposteten String.
Multi>unrar
Hier musst Du das Größerzeichen durch einen Backslash ersetzen
unrar.exe e
wenn e ein Parameter von unrar ist, dann eventuell mit einem Minus davor oder einem Schrägstrich. Asonsten ist das sicher zu viel
Dann entweder in Klammern, z.B. Call Shell(...)
oder mit Rückgabewert
retVal = Shell(...)
... und cmd /c muss auch nicht unbedingt sein.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 17.02.2016
Version(en): 2016
Danke für deine Tipps,
aber leider funktioniert es immer noch nicht:
'No: Call Shell("cmd /c ""C:\Program Files\WinRAR 3.61 Multi\unrar.exe /e C:\Z\Test.rar")
'No: Call Shell("cmd /c ""C:\Program Files\WinRAR 3.61 Multi\unrar.exe -e C:\Z\Test.rar")
'No: Call Shell("C:\Program Files\WinRAR 3.61 Multi\unrar.exe -e C:\Z\Test.rar")
'No: Call Shell("C:\Program Files\WinRAR 3.61 Multi\unrar.exe /e C:\Z\Test.rar")
Registriert seit: 17.02.2016
Version(en): 2016
Eigentlich müßte der Fehler hier liegen:
Call Shell("C:\Program Files\WinRAR 3.61 Multi\unrar.exe")
denn da tut sich nichts. Ganz im Gegensatz dazu, wenn ich
die cmd.exe in diesem Verzeichnis habe und dann unrar.exe aufrufe.
Dann erscheinen nämlich alle Optionen und Beschreibungen die unrar so bietet.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
vielleicht klappt es so:
Shell "C:\Program Files\WinRAR 3.61 Multi\unrar.exe ""-e C:\Z\Test.rar"""
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• santana
Registriert seit: 17.02.2016
Version(en): 2016
18.02.2018, 19:13
(Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2018, 19:13 von santana.)
Hallo Uwe,
leider wohl nicht. Was ich bisher noch versucht habe, du kannst die unrar.exe zusammen mit der cmd.exe in irgendein Verzeichnis packen,
dann die cmd.exe starten, den unrar Befehl samt zu entpackenden Dateipfad eingeben. Das geht. Aber kein Aufruf über Shell bzw. VBA.
Muss man leider bisher von Hand machen.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen Santana,
ich denke auch, Du bist Deinen Anführungszeichen untreu geworden. Bei Leerzeichen im String wird dann mal schon versucht, den Teil vor dem ersten als Programm auszuführen. Das erste Leerzeichen steht nach c:\Program
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• santana
Registriert seit: 17.02.2016
Version(en): 2016
Hallo,
zunächst einmal vielen Dank lieber Andre, lieber Uwe für eure Hilfe.
Das Entpacken selbst ist mit dem von Uwe angegebenen Befehl sowohl mit unrar.exe
als auch mit dem Konkurrenzprodukt 7-Zip (hier 7z.Exe) erfolgreich.
vgl. auch:
https://praxistipps.chip.de/winrar-die-d...iven_32638Sub Kuwer_Extract()
'Mittels winrar durch unrar.exe
Shell "cmd /c""C:\Users\Administrator\Downloads\Z\unrar.exe e C:\Users\Administrator\Downloads\Z\Test.rar"""
'WinRar-Alternative: 7-Zip Die Datei 7z.exe muss im Verzeichnis/Ordner der zu entpackenden rar Datei stehen!
'Entpacken durch 7z.exe
Shell "cmd /c""C:\Users\Administrator\Downloads\Z\7z.exe e C:\Users\Administrator\Downloads\Z\Test.rar"""
End Sub
Das Problem: Ich kann machen was ich will, die Test.rar wird zwar entpackt, aber
nicht in dem von mir gewünschen Verzeichnis wo die Test.rar selbst steht.
Entpackt wird immer nach:
C:\Users\Adminstrator\Documents\
Was kann man da machen?