ich habe ein VBA-Script um Excel-Lieferscheine als PDF abzugelegen.
Das lief über mehrere Jahre zuverlässig.
Private Sub CommandButton1_Click()
Dim pdfDateiName As String
Dim pdfName As Variant
ChDrive "G:\"
ChDir "\PDF Kopien\"
pdfDateiName = ActiveSheet.Range("G26") & "_" & Range("C2") & ".pdf"
pdfName = Application.GetSaveAsFilename(InitialFileName:=pdfDateiName, FileFilter:="PDF files, *.pdf", Title:="PDF speichern")
If pdfName <> False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfDateiName, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True
Else
Exit Sub
End If
End Sub
Jetzt kam von unserer IT nachfolgender Hinweis:
"Ich möchte bitte keine festen Pfade mehr im VBA-Code hinterlegen.
Den Pfad (Netzlaufwerk) bitte künftig auf einem Tabellenblatt mit einem Namesbereich für „Servername“ hinterlegen.
Das kann in VBA simpel als ChDir [Servername] abgebildet werden. Das verwendet dann den Text/Wert der in diesem Zellenbereich hinterlegt ist."
Leider erhalte ich durch die IT keine weitere Hilfestellung, da diese für "User VBA-Codes" nicht zuständig sind.
Also meine Vorgehensweise:
Auf Tabellenblatt1 in Zelle "C1" mit Namensmanager einen Namensbereich "Servername" erstellt.
den Pfad "G:\Test\" in "C1" hinterlegt:
Private Sub CommandButton1_Click()
Dim pdfDateiName As String
Dim pdfName As Variant
ChDir [SERVERNAME]
. . . . .
Leider wird nicht der hinterlegten Pfad geöffnet, es öffnet sich statt dessen immer "Eigene Dateien".
Was mach ich falsch ?