Thema Datum  Von Nutzer Rating
Antwort
Rot Problem mit WshShell
27.10.2020 12:01:26 Eyyub
NotSolved
27.10.2020 12:08:50 Eyyub
NotSolved
27.10.2020 12:09:50 Eyyub
NotSolved
27.10.2020 12:39:45 Gast65809
****
Solved
27.10.2020 13:20:10 Eyyub
NotSolved
27.10.2020 13:38:26 Gast65809
*****
Solved
02.11.2020 12:00:38 Eyyub
NotSolved
27.10.2020 12:43:19 Mase
NotSolved

Ansicht des Beitrags:
Von:
Eyyub
Datum:
27.10.2020 12:01:26
Views:
764
Rating: Antwort:
  Ja
Thema:
Problem mit WshShell

Hallo alle zsuammen,

 

ich habe aktuell folgendes Problem: Ich versuche mit der Bibliothek WshShell ein zuvor erstellten Ordner mit PDF-Dateien zu zippen. Der Code sieht folgendermaßen aus:

 

Private Sub zipFile(strPath As String)

Dim wsh As WshShell
Dim lngErrorCode  As Long
Set wsh = New WshShell
Dim strCommand As String
strCommand = Chr(34) & "C:\Program Files\7-Zip\7z.exe" & Chr(34) & _
                         " a -tzip " & _
                         Chr(34) & strPath & Chr(34) & _
                         " " & Chr(34) & strPath & Chr(34)

MsgBox strCommand

lngErrorCode = wsh.Run(strCommand, WindowStyle:=1, WaitOnReturn:=1)

If lngErrorCode <> 0 Then
    MsgBox "Oh no! Something went wrong with Wsh!"
    Exit Sub
End If


End Sub

Aufruf in der Hauptprozedur:

zipFile ActiveSheet.Parent.Path & "\" & Date


Die Datei hat als Namen das aktuelle Datum, deswegen das Date im Pfad. lngCodeError ist immer 2. Beim Makro, welcher einfach ne zip-Datei auf meinem Desktop zippen soll, funktioniert es und lngCodeError ist 0.

Ich habe das Makro probiert mit einem Makro, welcher auf dem Desktop gespeichert ist. Das funktioniert problemlos:

Sub zipFile()

Dim wsh As WshShell
Dim lngErrorCode As Long
Set wsh = New WshShell
Dim strCommand As String
Dim strPath As String: strPath = "C:\Users\xxx\Desktop\zipfile"
strCommand = Chr(34) & "C:\Program Files\7-Zip\7z.exe" & Chr(34) & _
                         " a -tzip " & _
                         Chr(34) & strPath & Chr(34) & _
                         " " & Chr(34) & strPath & Chr(34)
                         
lngErrorCode = wsh.Run(strCommand, WindowStyle:=0, WaitOnReturn:=1)

If lngErrorCode <> 0 Then
    MsgBox "Oh no! Something went wrong with Wsh!"
    Exit Sub
End If

End Sub

Ich würde mich sehr über ein hilfreichen Tipp freuen.

MfG,
Eyyub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Problem mit WshShell
27.10.2020 12:01:26 Eyyub
NotSolved
27.10.2020 12:08:50 Eyyub
NotSolved
27.10.2020 12:09:50 Eyyub
NotSolved
27.10.2020 12:39:45 Gast65809
****
Solved
27.10.2020 13:20:10 Eyyub
NotSolved
27.10.2020 13:38:26 Gast65809
*****
Solved
02.11.2020 12:00:38 Eyyub
NotSolved
27.10.2020 12:43:19 Mase
NotSolved