VB Macro "opslaan als"

Weet je niet waar je je bericht moet zetten? Doe het hier

VB Macro "opslaan als"

Berichtdoor Theo van H. » ma jan 13, 2020 3:18 pm

Hallo allemaal,
Ik ben sinds kort na jaren overgestapt van Excel naar Oo. Aanpassen gaat goed, verschillen vallen me nog mee. :)
Echter: in Excel had ik een macro (gekregen) die mijn actieve tabblad opsloeg.
Werking: ik maak facturen. Gegevens uit andere tabbladen worden verzameld op het tabblad "factuur'. Daar staat in cel A1 (met behulp van tekst.samenvoegen) het pad, naam klant, weeknummer. BV: C:\administratie\debiteuren\F2020-01, de Boer, week1. Vervolgens moet het opgeslagen worden als PDF èn het melden als er al een ebstand bestaat (dan mag macro gestopt worden..).
In Excel was het een kort macrootje, maar ik krijg hem niet vertaald naar OO.
Wie kan helpen??
Open Office 417, windows 10
Theo van H.
 
Berichten: 1
Geregistreerd: ma jan 13, 2020 3:09 pm

Re: VB Macro "opslaan als"

Berichtdoor RPG » ma jan 13, 2020 9:07 pm

Dat hier een opgenomen macro gebruikt wordt, betekent niet dat je opgenomen macro's veelvuldig in een loop kunt gebruiken. Opgenomen macro's zijn in principe buitengewoon traag maar voor een eenmalige handeling zoals het exporteren van een printbereik naar een PDF is traagheid niet belangrijk.

Het volgende is een opgenomen macro die een pdf bestand maakt. Om de inhoud te controleren kan het best een printbereik aan gemaakt worden. Voor het aanpassen van de filenaam kun je de naam aanpassen.
De opgenomen macro is wel iets veranderd. Het belangste is misschien wel het toevoegen van Overwrite
Service MediaDescriptor
Code: Selecteer alles   UitklappenInklappen
sub Macro1
rem ----------------------------------------------------------------------
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:///home/romgro/Documenten/opof/data/calc2/Hulpprogrammas/VoorPDF/metarguments/proefje.pdf"
' Hier moet de file naam komen al of niet met een extensie.
' Het is niet een padnaam zoals mogelijk in een filemanage
' hier wordt een url gebruikt.
' De URL kan gemaakt worden in CALC of met behulp van BASIC
' ConvertToURL(filename)
' ConvertFromURL(filename)


args1(1).Name = "FilterName"
args1(1).Value = "calc_pdf_Export"
args1(2).Name = "Overwrite"
args1(2).Value = false
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args1())

end sub
LibreOffice 6.3.3.2.0 op openSUSE Leap 15.1
RPG
 
Berichten: 4058
Geregistreerd: wo apr 15, 2009 1:01 am
Woonplaats: Apeldoorn, Nederland


Keer terug naar Beginners

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast