von Jörg » Di, 17.03.2015 10:09
Hallo. danke für den Hinweis.
Jedoch ist es noch nicht das, was ich meine.
Denn, wenn ich mir nun mit Hilfe von "mkdir" ein neues Verzeichnis anlege, ändert sich an der
Zeile im vorhandenen Code
Code: Alles auswählen
args1(0).Value = "file:///E:/openoffice/Monatsabrechnungen/2015/" & sTabName & ".pdf"
erst mal nix.
Meine ursprüngliche Frage aber war:
Wie kann ich diese Zeile mit einem Makro ändern, so dass man nicht extra in die Makroverwaltung muß.
Der Vollständigkeit halber hier nochmal der kpl. Code.
Code: Alles auswählen
sub PDFspeichern
rem ----------------------------------------------------------------------
sTabName = Thiscomponent.currentcontroller.activesheet.name
msgbox (sTabName,_0, "Monatswechsel", 33)
rem----------------------------------------------------------------------
antwort = msgbox("Druckbereich kontrolliert?", 33,"Monatswechsel")
if antwort = 2 Then
exit sub
end if
rem define variables
dim document as object
dim dispatcher as object
myDoc = thisComponent
mySheet = myDoc.Sheets(3)
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:///E:/openoffice/Monatsabrechnungen/2015/" & sTabName & ".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 ----------------------------------------------------------------------
ocalc = thisComponent
osheet = ocalc.sheets(3)
oCellRange = osheet.getCellRangeByName("A3:P250")
ocellRange.clearContents(com.sun.star.sheet.CellFlags.VALUE)
oCellRange = osheet.getCellRangeByName("A3:P250")
ocellRange.clearContents(com.sun.star.sheet.CellFlags.STRING)
oCellRange = osheet.getCellRangeByName("A3:P250")
ocellRange.clearContents(com.sun.star.sheet.CellFlags.DATETIME)
mycell = osheet.getCellRangebyName("A1")
mycell.formulalocal ="=R1&"" ""&TEXT(T1;""MMMM JJJJ"")"
rem-------------------------------------------------------------------------------------------
osheet = thiscomponent.currentcontroller.activeSheet
sNewName = inputbox("Bitte neuen Blattnamen eingeben !","Monatswechsel","Neuer Abrechnungsmonat")
osheet.name = sNewName
rem------------------------------------------------------------------------
if sNewName = "Januar" then
sNewFileUrl = inputbox ("Jahreswechsel?",0,"file:///E:/openoffice/Monatsabrechnungen/2015/" & sTabName & ".pdf")
end if
rem---------------------------------------------------------------------------------------------
End Sub
Gruß Jörg
Hallo. danke für den Hinweis.
Jedoch ist es noch nicht das, was ich meine.
Denn, wenn ich mir nun mit Hilfe von "mkdir" ein neues Verzeichnis anlege, ändert sich an der
Zeile im vorhandenen Code
[code]args1(0).Value = "file:///E:/openoffice/Monatsabrechnungen/2015/" & sTabName & ".pdf"[/code]
erst mal nix.
Meine ursprüngliche Frage aber war:
Wie kann ich diese Zeile mit einem Makro ändern, so dass man nicht extra in die Makroverwaltung muß.
Der Vollständigkeit halber hier nochmal der kpl. Code.
[code]sub PDFspeichern
rem ----------------------------------------------------------------------
sTabName = Thiscomponent.currentcontroller.activesheet.name
msgbox (sTabName,_0, "Monatswechsel", 33)
rem----------------------------------------------------------------------
antwort = msgbox("Druckbereich kontrolliert?", 33,"Monatswechsel")
if antwort = 2 Then
exit sub
end if
rem define variables
dim document as object
dim dispatcher as object
myDoc = thisComponent
mySheet = myDoc.Sheets(3)
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:///E:/openoffice/Monatsabrechnungen/2015/" & sTabName & ".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 ----------------------------------------------------------------------
ocalc = thisComponent
osheet = ocalc.sheets(3)
oCellRange = osheet.getCellRangeByName("A3:P250")
ocellRange.clearContents(com.sun.star.sheet.CellFlags.VALUE)
oCellRange = osheet.getCellRangeByName("A3:P250")
ocellRange.clearContents(com.sun.star.sheet.CellFlags.STRING)
oCellRange = osheet.getCellRangeByName("A3:P250")
ocellRange.clearContents(com.sun.star.sheet.CellFlags.DATETIME)
mycell = osheet.getCellRangebyName("A1")
mycell.formulalocal ="=R1&"" ""&TEXT(T1;""MMMM JJJJ"")"
rem-------------------------------------------------------------------------------------------
osheet = thiscomponent.currentcontroller.activeSheet
sNewName = inputbox("Bitte neuen Blattnamen eingeben !","Monatswechsel","Neuer Abrechnungsmonat")
osheet.name = sNewName
rem------------------------------------------------------------------------
if sNewName = "Januar" then
sNewFileUrl = inputbox ("Jahreswechsel?",0,"file:///E:/openoffice/Monatsabrechnungen/2015/" & sTabName & ".pdf")
end if
rem---------------------------------------------------------------------------------------------
End Sub[/code]
Gruß Jörg