Iets over dispatcher en exporteren
Geplaatst: di dec 29, 2020 4:44 pm
Dit is misschien meer een inleiding tot het bijgevoegde voorbeeld. Het eerste doel is hoe exporteer ik gemakkelijk een werkblad naar een PDF. Om het gemakkelijk te maken heb ik zowel gebruik gemaakt van wat een macro doen en wat er mogelijk is met een werkblad. Ik heb dit al eerder geprobeerd maar het eindresultaat was te moeilijk. In tussen tijds heb ik zelf ook meer geleerd om het eenvoudiger te maken, meer kennis van de API van een werkblad.
Ondanks deze eenvoud zal het niet voor iedereen eenvoudig zijn.
Dispatcer opdrachten
In principe heb ik mij beperkt tot dispatcher opdrachten. Dit is grotendeels gelijk met de knoppen op de werkbalken of de menu's. De dispatcher opdrachten worden soms ook wel URL commando's genoemd. In principe beperk ik mij tot die commando's die een deel van het bestand opslaan als een PDF document.
Afdrukbereik
Het is niet zo eenvoudig om gebruik te maken van de vele mogelijkheden die er zijn. Door gebruik te maken van een goed gedefinieerd afdrukbereik is het niet nodig om steeds het gewenste te selecteren. Bij het maken van facturen is het verstandig dat de gegevens steeds getoond worden op het gewenste blad. De bladen die niet afgedrukt moeten worden daar kan het afdruk bereik van verwijderd worden door:
menu --> Opmaak --> Afdrukbereiken --> Verwijderen
Optie's selecteren voor in een PDF
Dit geheel gaat niet over het selecteren van de vele opties die er zijn voor het maken van een PDF. Voor zover ik begrepen heb uit kleine testen worden de laatste instellingen gebruikt. Wanneer vele afdrukken gemaakt worden bij de eerste even kijken naar het resultaat. In de link staan alle mogelijkheden voor een PDF: API/Tutorials/PDF export - Apache OpenOffice Wiki.
Voorbeelden in een scenario.
Elk scenario geeft een klein voorbeeld. De eerste regel is steeds de opdracht of het url-commando. Daar onder staan de benodigde argumenten voor een eenvoudige opdracht. Soms worden daar zelfgedefinieerde functie gebruikt. Deze zelf gedefinieerde functie staan in de module Functies. Voor iemand die bekend is met functies in een werkblad is dit eenvoudig werken. Een scenario is een soort keuze menu. Klik op het pijltje voor de keuze.
Namen in een werkblad
Al de gegevens die nodig zijn moeten in een bereik staan wat benoemd is. De naam die dit benoemde bereik heeft moet in de knop komen te staan en wordt gebruik in de macro om de gegevens te vinden en te gebruiken. Door gebruik te maken van een benoemd bereik kan de macro steeds gebruikt worden. In het werkblad gebruik is voor het corrigeren en samenstellen van de naam veel cellen en functies' Het gebruik van vele cellen is ook om elke stap duidelijk te maken.
Onderzoeken
Door deze voorbereiding moest ik zelf ook goed moest kijken naar wat er gebeurde met de verschillende knoppen in de werkbalken of menu optie. Ik denk dat het wel verstandig is om te onderzoeken wat er precies gewenst wordt. Niet alle combinatie zijn altijd mogelijk ook al is er geen foutmelding. Een verkeerd getypt woord geeft geen foutmelding maar doet in het beste geval niets. Heel veel van deze woorden zijn Hoofdlettergevoelig. Overwrite met hoofdletter wordt goed gerekend maar overwrite met kleine letter wordt niet herkend. Natuurlijk moet Overwrite dan ook nog in de goede combinatie gebruikt worden. Overwrite in combinatie .uno.ExportTo en URL is voorzover ik nu weet de enige goede combinatie.
Voor macrokenners
In de bijgesloten macro heb ik gebruik gemaakt van deze interface Interface XCellRange. Het is altijd min of meer een keuze wat de beste weg is naar een oplossing en in deze werd ik steeds meer deze op gedrven op een zo eenvoudig mogelijk oplossing te vinden. In een eerdere poging om iets gemakkelijks te maken had ik onvoldoende kennis van welke interface het beste werkt.
Mijn idee is dat het werk voor de gebruiker het best in het werkblad gedaan kan worden. Dit werk kan het best gedaan worden door mogelijkheden die er al zijn. Dit laat zich ook gemakkelijker corrigeren.
Overstappen van Excel naar Calc
De vragen die Excel verlaters hebben kenmerken zicht door een overdaad aan macro's en weinig gebruik aangeboden mogelijkheden. Het leren gebruiken van de aangeboden mogelijk is niet eenvoudig maar dat is hier niet aan de orde.
Ondanks deze eenvoud zal het niet voor iedereen eenvoudig zijn.
Dispatcer opdrachten
In principe heb ik mij beperkt tot dispatcher opdrachten. Dit is grotendeels gelijk met de knoppen op de werkbalken of de menu's. De dispatcher opdrachten worden soms ook wel URL commando's genoemd. In principe beperk ik mij tot die commando's die een deel van het bestand opslaan als een PDF document.
Afdrukbereik
Het is niet zo eenvoudig om gebruik te maken van de vele mogelijkheden die er zijn. Door gebruik te maken van een goed gedefinieerd afdrukbereik is het niet nodig om steeds het gewenste te selecteren. Bij het maken van facturen is het verstandig dat de gegevens steeds getoond worden op het gewenste blad. De bladen die niet afgedrukt moeten worden daar kan het afdruk bereik van verwijderd worden door:
menu --> Opmaak --> Afdrukbereiken --> Verwijderen
Optie's selecteren voor in een PDF
Dit geheel gaat niet over het selecteren van de vele opties die er zijn voor het maken van een PDF. Voor zover ik begrepen heb uit kleine testen worden de laatste instellingen gebruikt. Wanneer vele afdrukken gemaakt worden bij de eerste even kijken naar het resultaat. In de link staan alle mogelijkheden voor een PDF: API/Tutorials/PDF export - Apache OpenOffice Wiki.
Voorbeelden in een scenario.
Elk scenario geeft een klein voorbeeld. De eerste regel is steeds de opdracht of het url-commando. Daar onder staan de benodigde argumenten voor een eenvoudige opdracht. Soms worden daar zelfgedefinieerde functie gebruikt. Deze zelf gedefinieerde functie staan in de module Functies. Voor iemand die bekend is met functies in een werkblad is dit eenvoudig werken. Een scenario is een soort keuze menu. Klik op het pijltje voor de keuze.
Namen in een werkblad
Al de gegevens die nodig zijn moeten in een bereik staan wat benoemd is. De naam die dit benoemde bereik heeft moet in de knop komen te staan en wordt gebruik in de macro om de gegevens te vinden en te gebruiken. Door gebruik te maken van een benoemd bereik kan de macro steeds gebruikt worden. In het werkblad gebruik is voor het corrigeren en samenstellen van de naam veel cellen en functies' Het gebruik van vele cellen is ook om elke stap duidelijk te maken.
Onderzoeken
Door deze voorbereiding moest ik zelf ook goed moest kijken naar wat er gebeurde met de verschillende knoppen in de werkbalken of menu optie. Ik denk dat het wel verstandig is om te onderzoeken wat er precies gewenst wordt. Niet alle combinatie zijn altijd mogelijk ook al is er geen foutmelding. Een verkeerd getypt woord geeft geen foutmelding maar doet in het beste geval niets. Heel veel van deze woorden zijn Hoofdlettergevoelig. Overwrite met hoofdletter wordt goed gerekend maar overwrite met kleine letter wordt niet herkend. Natuurlijk moet Overwrite dan ook nog in de goede combinatie gebruikt worden. Overwrite in combinatie .uno.ExportTo en URL is voorzover ik nu weet de enige goede combinatie.
Voor macrokenners
In de bijgesloten macro heb ik gebruik gemaakt van deze interface Interface XCellRange. Het is altijd min of meer een keuze wat de beste weg is naar een oplossing en in deze werd ik steeds meer deze op gedrven op een zo eenvoudig mogelijk oplossing te vinden. In een eerdere poging om iets gemakkelijks te maken had ik onvoldoende kennis van welke interface het beste werkt.
Mijn idee is dat het werk voor de gebruiker het best in het werkblad gedaan kan worden. Dit werk kan het best gedaan worden door mogelijkheden die er al zijn. Dit laat zich ook gemakkelijker corrigeren.
Overstappen van Excel naar Calc
De vragen die Excel verlaters hebben kenmerken zicht door een overdaad aan macro's en weinig gebruik aangeboden mogelijkheden. Het leren gebruiken van de aangeboden mogelijk is niet eenvoudig maar dat is hier niet aan de orde.