none
PDF aus mehreren Excel-Blättern erstellen

    Frage

  • Hallo zusammen,

    die Anweisung:

    Globals.ThisWorkbook.ActiveSheet.ExportAsFixedFormat(Type:=0,
            Filename:=strDateiname,
            Quality:=0,
            IncludeDocProperties:=True,
            IgnorePrintAreas:=False
            OpenAfterPublish:=True)

    erzeugt ein PDF des aktiven Arbeitsblattes.

    Wie kann ich ein PDF aus mehreren (ganz bestimmten) Arbeitsblättern erstellen?

    Viele Grüße

    Emil

    Freitag, 16. März 2012 17:35

Antworten

  • Hallo Emil, hallo Robert,

    ich hatte auch versucht das Problem direkt in Excel (VBA) nachzustellen. Ich hatte mit dem Makrorecorder mehrere Tabellen markiert und gedruckt. Damit habe ich auch das Problem gelöst. Leider klappt es aber nicht mit VSTO! Hier bekomme ich den Fehler ""Array" ist ein Typ und kann nicht als Ausdruck verwendet werden".  Ich habe weiter gesucht und folgenden Link gefunden. Damit klappt es dann auch in VSTO

    	Dim wsArray As String() = New String() {"Tabelle1", "Tabelle3"}
            Dim oWsArray As Object = wsArray
    
            Globals.ThisAddIn.Application.Sheets(oWsArray).Select()
            Globals.ThisAddIn.Application.Selection.ExportAsFixedFormat(Type:=0, Filename:=strDateiname, Quality:=0, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True)

    Hoffe es hilft Dir weiter.

    Gruß

    Viktor

    P.S.: Emil kannst Du bitte in deiner letzten Anfrage "Blatt aus anderer Arbeitsmappe in das aktuelle Projekt kopieren" die Antworten korrigieren, damit andere Anwender es leichter haben die richtige Antwort zu finden.

    Dienstag, 20. März 2012 15:15

Alle Antworten

  • Hallo Emil, hallo Robert,

    ich hatte auch versucht das Problem direkt in Excel (VBA) nachzustellen. Ich hatte mit dem Makrorecorder mehrere Tabellen markiert und gedruckt. Damit habe ich auch das Problem gelöst. Leider klappt es aber nicht mit VSTO! Hier bekomme ich den Fehler ""Array" ist ein Typ und kann nicht als Ausdruck verwendet werden".  Ich habe weiter gesucht und folgenden Link gefunden. Damit klappt es dann auch in VSTO

    	Dim wsArray As String() = New String() {"Tabelle1", "Tabelle3"}
            Dim oWsArray As Object = wsArray
    
            Globals.ThisAddIn.Application.Sheets(oWsArray).Select()
            Globals.ThisAddIn.Application.Selection.ExportAsFixedFormat(Type:=0, Filename:=strDateiname, Quality:=0, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True)

    Hoffe es hilft Dir weiter.

    Gruß

    Viktor

    P.S.: Emil kannst Du bitte in deiner letzten Anfrage "Blatt aus anderer Arbeitsmappe in das aktuelle Projekt kopieren" die Antworten korrigieren, damit andere Anwender es leichter haben die richtige Antwort zu finden.

    Dienstag, 20. März 2012 15:15
  • Hallo Robert, hallo Viktor,

    vielen Dank für Eure Antworten. Der Hinweis von Viktor ist das was ich gesucht habe (und trotz langer Suche bisher nicht gefunden hatte). Zu deinem Nachsatz Viktor: Wenn ich im Nachhinein meine Antworten korrigiere, dann geht der Zusammenhang insgesamt verloren. Ich weiß nicht ob das richtig wäre?

    Viele Grüße

    Emil

    Dienstag, 20. März 2012 16:03
  • Hallo Emil,

    schön, dass es auch bei Dir klappt.

    Nochmal zu Meiner Anmerkung "Blatt aus anderer Arbeitsmappe in das aktuelle Projekt kopieren". Die Antwort die zur Lösung geführt hat sollte meiner Meinung nach zusätzlich als Antwort markiert werden, damit sie auch oben erscheint. Ansonsten ist es für Andere mit dem selben Problem irreführend, da Du als Antwort angibst, dass es keine Lösung gibt.

    Gruß

    Viktor

    Dienstag, 20. März 2012 16:15
  • Hallo Viktor,

    ich habe die Antwort entsprechend markiert.

    Viele Grüße

    Emil

    Mittwoch, 21. März 2012 10:18