Problem mit Excel Macro die Datei im Netzwerk abspeichert / Wie Makro in Excel auf anderes Netzwerk abspeichern lassen?
Hallo,
Ich hab heute in der Arbeit ein Dokument in Excel 2010 erstellt.
Im Dokument habe einen Button erstellt und ihm einer Makro zugewiesen.
Der Button soll die Datei als .PDF unter einem bestimmten Pfad abspeichern und die Zeile [F7] als Dateinamen benutzen.
Der Code für die Makro:
Sub Speichern_PDF()
ChDir "PFAD"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Range("F7").Value & "_" & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ False
End Sub
Soweit funktioniert auch alles wie gewünscht, jedoch wenn ich das Verzeichnis von [C:] auf [M:] ändere wird die Datei nicht mehr abgespeichert.
In Excel selbst habe ich unter dem Sicherheitscenter den Pfad schon als Vertrauenswürdig eingetragen, und Vertrauenswürdige Dokumente im Netzwerk erlaubt.
Wenn ich den UNC Pfad verwende erstellt es eine Datei, aber nach schließen des Dokumentes funktioniert die Makro wieder nicht.
Eventuell hat ja jemand von euch eine Gute Antwort auf mein Problem.
Würde mich freuen
Gruß Maximilian
3 Antworten
sollte das Makro nicht in der Datei selbst stehen sondern in einem anderen Pfad (zB in einer Personal.xlsm), stimmt die Zuweisung des Knopfs natürlich nicht mehr.
Eigentlich banal, wird aber oft übersehen.
Wechselt dein Pfad ab und zu oder ist er einmalig hinterlegt?
Den DateiPfad musst du natürlich für dich anpassen.
Sub Speichern_PDF()
Dim DateiName As String
DateiPfad = "K:\Projekte\SHFV\Zahlungserinnerung\"
DateiName = DateiPfad & Range("F7") & "-" & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
DateiName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
End Sub
Ist der Pfad unvollständig angegeben und wird dadurch als "relativer" Pfad interpretiert?
Wenn der Zielordner nur als Laufwerksbuchstabe mit Doppelpunkt, aber ohne umgekehrten Schrägstrich (Backslash) angegeben wird, wird der "zufällig" auf dem Laufwerk M: aktuelle Ordner verwendet. Mit UNC-Pfad machst du das ja zwangsläufig richtig, aber bei Nutzung des "verbundenen Netzlaufwerks" wird das schnell vergessen.
Absoluten Pfad verwenden (z.B. "M:\" oder etwas wie "M:\Berichte" statt nur "M:", manchmal muss auch der nachfolgende Backslash angegeben werden -> "M:\Berichte\")
Den Backslash erzeugst du mit der Tastenkombination "AltGr"+ß.