Seite 1 von 1

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

Verfasst: Di, 20.05.2008 07:36
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" .....

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

Verfasst: Di, 20.05.2008 08:32
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

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

Verfasst: Di, 20.05.2008 09:30
von Urs
Vielen Dank für die Hilfe - funktioniert bestens :D