Thema Datum  Von Nutzer Rating
Antwort
Rot Variabler Pfad in VBA Script
01.12.2018 20:54:23 Marco
NotSolved
01.12.2018 21:03:54 Marco
NotSolved

Ansicht des Beitrags:
Von:
Marco
Datum:
01.12.2018 20:54:23
Views:
771
Rating: Antwort:
  Ja
Thema:
Variabler Pfad in VBA Script
Hallo liebe Forenmitglieder, ich habe von Excel Makros / VBA null, gar keine Ahnung. Mit Hilfe von diversen Forenbeiträgen habe ich einen Teil dessen was ich umsetzen möchte schon per "drag & drop" lösen können. Wie gesagt null, gar keine Ahnung. Nun bin ich an einem Punkt wo ich nicht mehr weiter weiß. Ich habe schon diverse Dinge versucht aber mangels knowhow habe ich jetzt die Waffen gestreckt. Kurz zu meinem Thema Ich möchte anhand von einer Excel Tabelle markierte "PDF Dateinamen" in 7-Zip zusammenfassen. Dies funktioniert auch Dank diverser Forenbeiträge. Mein Problem ist, dass ich nicht auf einen statischen Ordner auf meinem PC verweisen möchte. Ziel ist es den Pfad variabel zu halten, d.h. ich überlasse Kollegen einen Ordner in dem sich alle benötigen Dateien befinden. Den Ordner können die Kollegen dorthin speichern wo sie wollen. In dem Ordner befindet sich eine Excel Datei, die quasi den Mittelpunkt darstellt. Dort werden Berechnungen etc. vorgenommen. Beim klicken auf einen Knopf werden dann definierte und markierte PDF Dateien in einem Ordner gesucht und zusammengeführt via 7-Zip. Diese Zip Datei soll dann wieder in einem definierten Ordner abgelegt werden. Ich kopiere hier mal meinen Code rein. Die Bereiche mit dem roten x ?, müssten vom Pfad geändert werden. Der Pfad soll als "Grundstock" der Pfad der Excel Datei sein und dann noch in Unterordner weiterführen. Keine Ahnung ob Ihr mit meinem Text eine Ahnung habt was ich hier meine. Ich hoffe aber drauf. Für Profis wie es hier die meisten sind, ist das Problem wahrscheinlich lächerlich. Aber wie gesagt, null Ahnung... Danke für Eure Hilfe Sub CommandButton2_Click() Dim c As Range, strDat As String, strZip As Variant, strQuelle As Variant Dim strListe As String, FF As Integer, sh, strMsg As String Range("A101:A107").Select Selection.Copy Range("A110:A117").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False ActiveWindow.SmallScroll Down:=-84 Set sh = CreateObject("WScript.Shell") 'Verzeichnisse / Parameter (Switches) strQuelle = Application.ActiveWorkbook.Path & "\" & "Bedingungen SVFP 2017\" 'Backslash nicht vergessen! ?Const str7Zip As String = """C:\Users\Marco\Desktop\Rahmenvertrag Tool\7-ZipPortable\App\7-Zip\7z.exe""" 'Anpassen! Const strParam As String = " -r -mx=5 -mmt=on" 'Unterverzeichnisse, normale Kompression, Mehrkernproz. 'Name der Zip-Datei: strZip = Application.GetSaveAsFilename("C:\Users\Marco\Desktop\Rahmenvertrag Tool\Bedingungen Zip Test\Test.zip", "*.zip,*.zip") ?If strZip = False Then Exit Sub strZip = Chr(34) & strZip & Chr(34) 'Datei-Liste temporär anlegen strListe = Mid(strZip, 2, InStrRev(strZip, "\") - 1) & Format(Now, "yyyy-mm-dd_hh-mm-ss") FF = FreeFile() Open strListe For Output As #FF 'Schleife über alle selektierten Zellen: For Each c In Selection 'Dateiname strDat = strQuelle & c.Value 'Existiert die Datei If Dir(strDat, vbDirectory) <> "" Then 'in Liste schreiben Print #FF, strDat Else strMsg = strMsg & vbLf & strDat End If Next Close #FF 'Zippen 'Debug.Print str7Zip & " a -tzip " & strZip & " @" & Chr(34) & strListe & Chr(34) & strParam sh.Run str7Zip & " a -tzip " & strZip & " @" & Chr(34) & strListe & Chr(34) & strParam, , True Set sh = Nothing 'Liste löschen Kill strListe 'Wurden manche Dateien nicht gefunden? If Len(strMsg) > 0 Then MsgBox "Es konnten folgende Dateien nicht gefunden werden:" & vbLf & strMsg End If End Sub

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 Variabler Pfad in VBA Script
01.12.2018 20:54:23 Marco
NotSolved
01.12.2018 21:03:54 Marco
NotSolved