PDF-Export-Makro, Export-Button überspringen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: PDF-Export-Makro, Export-Button überspringen

Re: PDF-Export-Makro, Export-Button überspringen

von Jörg » Mo, 02.12.2013 10:37

Hallo,
das Makro funktioniert prima. Vielen Dank für die Hilfe. Ich hätte da noch einen kleinen Wunsch.
Nachdem alles erfolgreich als pdf gespeichert ist, benenne ich meine Tabelle um. Schön wäre es, wenn sich abschließend eine box öffnen würde, in der ich den neuen Tabellennamen eingebe und mit ok abschließe. Das ganze ans Ende des Makros gesetzt.
Dann wäre die Sache rund.
Gruß Jörg

Re: PDF-Export-Makro, Export-Button überspringen

von Jörg » Di, 26.11.2013 17:50

Oh Mann sorry,
bin ich wohl ins Fettnapf getreten.
Bis vor ein paar Wochen wußte ich nicht einmal, was Makros sind usw.
Ich will mir nur mit ooo was zusammenbauen, damit ich nach BS Wechsel wieder ordentlich arbeiten kann.
Also es tut mir sowas von leid. :lol:

Re: PDF-Export-Makro, Export-Button überspringen

von F3K Total » Di, 26.11.2013 17:17

Moin,
Jörg hat geschrieben:Aber da ich mich sowenig in der VBA auskenne ...
Hier ein Zitat aus dem englischen Forum:
There are several macro languages in OOo, but none of them is called Visual Basic or VB(A)! Please call it OOo Basic, Star Basic or simply Basic.
Gruß R

(Gelöst)Re: PDF-Export-Makro, Export-Button überspringen

von Jörg » Di, 26.11.2013 12:20

Hallo F3K,
danke Dir. Ich hatte schon die Ahnung, daß ich das da reinsetzen muß. Hatte es auch schon probiert. Aber da ich mich sowenig in der VBA auskenne, hab ich ohne
" und & eingefügt.
Es funktioniert jetzt prima.Die msg box laß drin.
Vielen Dank und eine gute Zeit.

Gruß Jörg

Re: PDF-Export-Makro, Export-Button überspringen

von F3K Total » Mo, 25.11.2013 20:20

Hi,
naja, da wo der Name steht wird statt Kundendatei die Variable sTabName eingesetzt:

Code: Alles auswählen

args1(0).Value = "file:///D:/openoffice/Monatsabrechnungen/2014/" & sTabName & ".pdf"
Die Zeile mit der Messagebox kannst du wieder herausnehmen.

Code: Alles auswählen

msgbox sTabName
Gruß R

Re: PDF-Export-Makro, Export-Button überspringen

von Jörg » Mo, 25.11.2013 19:37

Hallo F3K,
vielen Dank für die schnelle Reaktion. Leider Funktioniert das noch nicht so, wie ich das mir vorstelle. An welcher Stelle muß ich Deinen Code einfügen, damit ich den richtigen Dateinamen im Ordner habe."file:///D:/openoffice/Monatsabrechnungen/2014/Kundendatei.pdf" Als Dateiname erscheint immer noch Kundendatei.pdf. Es soll aber der jeweils aktuelle Name des Tabellenblattes als Dateiname gespeichert werden, anstatt "Kundendatei"
Hab mal das Makro eingefügt. Deinen Text hab ich möglicherweise an die falsche Stelle gesetzt. :?
Gruß Jörg

Code: Alles auswählen

sub PDF
rem
sTabName = Thiscomponent.currentcontroller.activesheet.name
msgbox sTabName

rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///D:/openoffice/Monatsabrechnungen/2014/Kundendatei.pdf"
args1(1).Name = "FilterName"
args1(1).Value = "calc_pdf_Export"
args1(2).Name = "FilterData"
args1(2).Value = Array(Array("UseLosslessCompression",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Quality",0,90,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ReduceImageResolution",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("MaxImageResolution",0,300,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTaggedPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SelectPdfVersion",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportNotes",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarks",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenBookmarkLevels",0,-1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTransitionEffects",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsSkipEmptyPages",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EmbedStandardFonts",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FormsType",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportFormFields",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("AllowDuplicateFieldNames",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerToolbar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerMenubar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerWindowControls",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ResizeWindowToInitialPage",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("CenterWindow",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenInFullScreenMode",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("DisplayPDFDocumentTitle",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialView",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Magnification",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Zoom",0,100,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PageLayout",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FirstPageOnLeft",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialPage",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Printing",0,2,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Changes",0,4,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableCopyingOfContent",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableTextAccessForAccessibilityTools",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportLinksRelativeFsys",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PDFViewSelection",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ConvertOOoTargetToPDFTarget",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarksToPDFDestination",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("_OkButtonString",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EncryptFile",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PreparedPasswords",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PreparedPermissionPassword",0,Array(),com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Selection",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))

dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$3"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Sel"
args3(0).Value = true

dispatcher.executeDispatch(document, ".uno:GoToEndOfData", "", 0, args3())

rem ----

Re: PDF-Export-Makro, Export-Button überspringen

von F3K Total » Mo, 25.11.2013 18:19

Moin
Jörg hat geschrieben:P.S. Wie fügt man hier ein Makro ein? So wie es oka gemacht hat.
-> Indem man den Text zwischen Code-Tags setzt, siehe Knöpfe über dem Editierfenster.
zum Auslesen des Tabellenblattnamens:

Code: Alles auswählen

Sub Main
   sTabName = Thiscomponent.currentcontroller.activesheet.name
   msgbox sTabName
End Sub
Gruß R

Re: PDF-Export-Makro, Export-Button überspringen

von Jörg » Mo, 25.11.2013 18:06

Hallo,
ich habe mir das Makro mal kopiert und es funktioniert im Grunde. Allerdings hätte ich ein paar Dinge geändert.
Das Makro speichert mir zwar das aktuelle Tabellenblatt, gibt mir aber als Dateinamen den Namen der Mappe aus.
Bsp. Mappe heißt Kundendatei ; Tabellenblatt heißt Monatsumsatz Jan.--> Dateiname: Kundendatei.pdf
Wie könnte ich erreichen, daß jeweils der Name des Tabellenblattes als Dateiname übernommen wird.
Mein Makro ist bis auf args1(0).Value = "file:///G:/test/test.pdf" identisch . Bei mir steht:args1(0).Value = "file:///D:/openoffice/Monatsabrechnungen/2014/Kundendatei%20TB.pdf".

Hoffe es kann mir jemand helfen.

Gruß Jörg
P.S. Wie fügt man hier ein Makro ein? So wie es oka gemacht hat.

von oka » Di, 23.05.2006 15:57

Hab die Lösung gefunden. Vielleicht interessiert es ja sonst noch jemanden.

Anstatt:

Code: Alles auswählen

dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 1, args1())
Das <ExportToPDF> zu <ExportDirectToPDF> ändern.

Code: Alles auswählen

dispatcher.executeDispatch(document, ".uno:ExportDirectToPDF", "", 1, args1())
War wohl zu einfach für Euch mir diesen Tipp zu geben.

Oski

PDF-Export-Makro, Export-Button überspringen

von oka » Sa, 20.05.2006 18:14

Hallo,
habe mit dem Makrorecorder ein kleines Script aufgenommen und es funktioniert prächtig,

Code: Alles auswählen

sub test
rem define variables
dim document   as object
dim dispatcher as object
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(3) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///G:/test/test.pdf"
args1(1).Name = "FilterName"
args1(1).Value = "calc_pdf_Export"
args1(2).Name = "FilterData"
args1(2).Value = Array(Array("UseLosslessCompression",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("Quality",0,90,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ReduceImageResolution",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("MaxImageResolution",0,300,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("UseTaggedPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ExportNotes",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("UseTransitionEffects",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("IsSkipEmptyPages",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("FormsType",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("Selection",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))
args1(3).Name = "SelectionOnly"
args1(3).Value = true
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 1, args1())
end sub
allerdings erscheint jedesmal das "PDF-Optionen"-Fenster auf dem ich auf <Exportieren> klicken muss.
Gibt es eine Möglichkeit das Script so abzuändern, dass man nichts mehr drücken muss, bzw. das "PDF-Optionen"-Fenster gar nicht mehr erscheint?

Habe schon diverse Abänderungen im Script versucht, ohne Erfolg.
Vielleicht gibt mir hier jemand einen Tipp.

Mfg Oski

Nach oben