Makro nur ausführen wenn Dokument ist eine Vorlage-gelöst

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
Urs
**
Beiträge: 35
Registriert: Do, 30.08.2007 11:10
Wohnort: Solothurn - Schweiz

Makro nur ausführen wenn Dokument ist eine Vorlage-gelöst

Beitrag von Urs »

Guten Morgen
Habe eine schöne Codestrecke gefunden welche mir die gespeicherten Benutzerdaten/Anschrift in einem Calc einfügen lässt.

Möchte aber diese Angaben nur aktualisieren wenn die Vorlage (*.ots) ausgeführt wird.
Bei den erstellten Dokumenten sollen ja dann die Benutzerdaten nicht mehr automagisch geändert werden.
Beispiel: Vorlage Spesenabrechung beim öffnen mit Namen etc. abfüllen und dann das Dokument zum Chef zur Kontrolle....
da sollte dann nicht überall der Name des Chefs stehen wenn er das Dokument öffnet :D

Finde leider kein Beispiel für eine "if Filename.Endung = *.ots then" .....
Zuletzt geändert von Urs am Di, 20.05.2008 09:29, insgesamt 1-mal geändert.
Karolus
********
Beiträge: 7517
Registriert: Mo, 02.01.2006 19:48

Re: Makro nur ausführen wenn Dokument ist eine Vorlage

Beitrag von Karolus »

Hallo Urs
Verknüpfe das Makro unter -->Extras-->Anpassen-->Ereignisse
mit "Dokument erzeugen"
nicht mit "Dokument öffnen"

Falls du die Funktion BEDA von Stephan direkt übernommen hast ? -müsstest du diese evtl. als Sub schreiben bei der du die Postionen im Tabellenblatt im Code festlegst:

Code: Alles auswählen

sub BEDA
Dim nutzer as Object
Dim reg_daten as Object
Dim profil(0) as new com.sun.star.beans.PropertyValue
nutzer = createUnoService("com.sun.star.configuration.ConfigurationProvider")
profil(0).Name = "nodepath"
profil(0).Value = "org.openoffice.UserProfile/Data"
reg_daten = nutzer.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", profil())
   'Eintrag der "Firma" in Tabelle1.A1
      thisComponent.sheets(0).getcellbyposition(0,0).string = reg_daten.o
   ' "Vorname" in A2
     thisComponent.sheets(0).getcellbyposition(0,1).string  = reg_daten.givenname
   ' "Nachname" in A3
      thisComponent.sheets(0).getcellbyposition(0,2).string = reg_daten.sn
'usw
....
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Benutzeravatar
Urs
**
Beiträge: 35
Registriert: Do, 30.08.2007 11:10
Wohnort: Solothurn - Schweiz

Re: Makro nur ausführen wenn Dokument ist eine Vorlage-gelöst

Beitrag von Urs »

Vielen Dank für die Hilfe - funktioniert bestens :D
Antworten