Microsoft Excel

Herbers Excel/VBA-Archiv

Speichern Unter

Betrifft: Speichern Unter von: Ben Dover
Geschrieben am: 25.07.2014 11:41:46

Hallo Community,

Ich habe folgenden Code, der zum Speichern Unter dient:



Dim SaveAsDlg As FileDialog
Set SaveAsDlg = Application.FileDialog(msoFileDialogSaveAs)
With SaveAsDlg
.InitialView = msoFileDialogViewList
.InitialFileName = "G:\Bestellspezifikation_" & Cells(4, 2)
'=Vorschlag für Dialog"
.FilterIndex = 25 'PDF Format
.Show
.Execute
End With

Leider habe ich das Problem, dass die Datei sofort nach dem Abspeichern mit Excel geöffnet wird und meine Originaldatei verlassen wird. Und wenn ich, nachdem ich Excel geschlossen habe, dann die abgespeicherte PDF öffnen will, dann sagt er mir, dass die PDF nicht geöffnet werden kann mit ADOBE. Ich vermute, dass er die PDF mit Excel-Referenz abspeichert.

Was ich möchte:
Die PDF soll abgespeichert werden und NICHT mit Excel geöffnet werden nach der Prozedur. Die abgespeicherte PDF soll natürlich mit dem Reader geöffnet werden können, was zurzeit nicht geht.

Wie muss ich den Code abändern?

Vielen Dank im Vorraus,

Ben Dover

  

Betrifft: AW: Speichern Unter von: fcs
Geschrieben am: 25.07.2014 12:32:48

Hallo Ben,

du darfst aus dem Dialog "nur" den gewählten Dateinamen übernehmen und musst dann die Datei mit der entsprechenden Exportfunktion als PDF speichern. Die Parameter der Exportfunktion musst du ggf. noch etwas anpassen.

Gruß
Franz

Sub aaTest()
  Dim SaveAsDlg As FileDialog
  Dim NamePDF As String
  Set SaveAsDlg = Application.FileDialog(msoFileDialogSaveAs)
  With SaveAsDlg
    .InitialView = msoFileDialogViewList
    .InitialFileName = "G:\Bestellspezifikation_" & Cells(4, 2)
    '=Vorschlag für Dialog"
    .FilterIndex = 25 'PDF Format
    If .Show = -1 Then
      NamePDF = .SelectedItems(1)
      Application.ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NamePDF, _
        Quality:=xlQualityStandard, Includedocproperties:=True, _
        Ignoreprintareas:=True, OpenafterPublish:=True
    Else
      'Dialog wurde abgebrochen
    End If
  End With
End Sub



  

Betrifft: AW: Speichern Unter von: Ben Dover
Geschrieben am: 25.07.2014 12:51:41

Vielen Dank, Franz!
Der Code funktioniert EINWANDFREI, wie ich anmerken möchte.

Und @Nepomuk: Der Hinweis mit ".Execute" war der entscheidene, jetzt verstehe ich meinen Fehler auch. So wie es sein sollte.

Merci!

Ben Dover
-------
"Oh du heil'ger Nepomuk-muk-muk-muk-muk, der du stehst auf der Prager Bruck-bruck-bruck-bruck! Wir liegen dir zu Füßen -schwupp- dich herzlich zu begrüßen!" _Nibelungen-Lied, wer kennt es?


  

Betrifft: AW: Speichern Unter von: Nepumuk
Geschrieben am: 25.07.2014 12:33:40

Hallo,

1. Würde ich abfragen ob der Benutzer den Dialog nicht doch abgebrochen hat. (If .Show Then)
2. Nicht mit .Execute speichern sondern per "ExportAsFixedFormat"-Methode. Da kannst du angeben ob das PDF nach dem Export geöffnet werden soll oder nicht.

Gruß
Nepumuk


 

Beiträge aus den Excel-Beispielen zum Thema "Speichern Unter"