Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA "Speichern unter" funktioniert nicht

Forumthread: VBA "Speichern unter" funktioniert nicht

VBA "Speichern unter" funktioniert nicht
04.10.2023 10:24:13
Michael
Hallo zusammen,

ich habe ein Makro, welches das Fenster "Speichern unter" öffnet und direkt einen bestimmten Pfad auswählt und direkt den Dateinamen aus einer Zelle ausliest und den Dateityp auf PDF setzt. Hier mal der Code:

Sub SpeichernPDF()

ActiveSheet.Unprotect Password:="maximal"
Range("I101").FormulaR1C1 = _
"=MID(CELL(""DATEINAME""),SEARCH(""["",CELL(""DATEINAME""))+1,SEARCH(""]"",CELL(""DATEINAME""))-SEARCH(""["",CELL(""DATEINAME""))-6)"
ActiveSheet.Protect Password:="maximal"

Dim strDateiname As String

' Den Dateinamen aus Zelle I101 auslesen und ".pdf" anhängen
strDateiname = Worksheets("Kalk").Range("I101").Value & ".pdf"

ChDrive "Z:" ' Ändere das Laufwerk und Verzeichnis nach Bedarf
ChDir "AllgemeinBüro Verwaltung1 Angebote2023" ' Ändere das Verzeichnis nach Bedarf

' Das Dialogfeld zum Speichern der Datei öffnen und den ausgewählten Dateinamen abrufen
Dim dlg As FileDialog
Set dlg = Application.FileDialog(msoFileDialogSaveAs)
dlg.InitialFileName = strDateiname
dlg.Filter = "PDF-Dateien (*.pdf), *.pdf"
If dlg.Show = -1 Then ' Wenn der Benutzer auf "Speichern" klickt
strDateiname = dlg.SelectedItems(1)

' Speichern Sie die Datei unter dem ausgewählten Namen
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strDateiname, Quality:=xlQualityStandard
End If

Set dlg = Nothing ' Dialog schließen

End Sub

In der Fett markierten Zeile, bringt er einen Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden.

Kann mir dazu jemand helfen?
Bei genaueren Rückfragen stehe ich natürlich gerne zur Verfügung.
Danke vorab!

Mfg Michael
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA "Speichern unter" funktioniert nicht
04.10.2023 13:29:35
daniel
Hi
hol dir doch den Dateinamen über GesSaveAsFilename
https://learn.microsoft.com/de-de/office/vba/api/excel.application.getsaveasfilename

dim Dateiname as variant

Dateiname = Application.GetSaveAsFilename(Worksheets("Kalk").Range("I101").Value & ".pdf", "PDF-Dateien (*.pdf), *.pdf", , "Speichern als PDF")
if VarType(dateiname) = vbString then ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Dateiname, Quality:=xlQualityStandard


Gruß Daniel
Anzeige
AW: VBA "Speichern unter" funktioniert nicht
04.10.2023 14:43:00
Michael
Danke für den Tipp.
Das hatte ich anfangs probiert, aber ich will das Makro in der PERSONAL Arbeitsmappe speichern.
Dann nennt er mir aber jede Datei PERSONAL.pdf. Deswegen hab ich da den Umweg gemacht und den Dateinamen erst in eine Zelle geschrieben und dann von dort ausgelesen.

Gruß Michael
Anzeige
AW: VBA "Speichern unter" funktioniert nicht
04.10.2023 14:57:21
daniel
Hi
dann hast vielleicht beim InitialFilename was falsch gemacht?
ggf Initialfilename ohne Dateierweiterung angeben. Die kommt sowieso nachher beim Export automatisch dazu.
Gruß Daniel
AW: VBA "Speichern unter" funktioniert nicht
04.10.2023 15:04:31
Michael
Oh man es kann wirklich so einfach sein.
Das löst das Problem.
Vielen Dank!!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige