WRITER: Eingabefelder füllen
Moderator: Moderatoren
-
- Beiträge: 2
- Registriert: Mi, 27.05.2015 15:56
WRITER: Eingabefelder füllen
Hallo Profis,
folgendes: Wir haben bisher hier mit MS-Word gearbeitet. Um jeden Mitarbeiter seinen passenden Briefkopf anzubieten, hab ich eine WORD-Vorlage gebaut, welche mit einem AUTO-New-Makro das Active-Directory ausgelesen hat und Name, email-Adresse, Telefon usw. in Formularfelder eingetragen hat.
Diese Funktion möcht ich nun auf Open-Writer umsetzen,was aber scheinbar gar ned sooo einfach ist.
Zugriff auf AD iss ehe ein größeres Problem, aber das löse ich indem beim Anmelden des Users über ein LOGON-Script die gewünschten Daten aus dem AD auslese und als txt-Datei auf einem lokalen oder gemappten Laufwerk ablege. Und auf diese Datei möchte ich über ein Makro aus OO zugreifen.
Hat den Vorteil, dass ich diese für andre Dinge auch nutzen kann.
Wie aber bring ich nun dier Daten aus der Datei in Felder auf ein OO-Dokument?
Ich hab hier viiiieeeel gegoogelt und auch getestet, aber so richtig vernünftig hat nix gefunzt.
Es geht schon an, dass es "New-Dokument" basierend auf einer OO-Vorlage scheinbar ned gibt.
Dann gibt es einmal "Engabefelder", und sog. "Shapes"? Welches passt nun besser.
Dann poppt beim Start wieder ein Fenster zur Dateneingabe auf. Das soll aber ned...
Kann ich die Felder auch "schützen" (wie in Word?)
Wer hat dieses Problem schon mal gelöst?
Vielen Dank für Eure Hilfe.
Moderation,4: verschoben in MAKROS (und allgem. Programmierung)-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst
folgendes: Wir haben bisher hier mit MS-Word gearbeitet. Um jeden Mitarbeiter seinen passenden Briefkopf anzubieten, hab ich eine WORD-Vorlage gebaut, welche mit einem AUTO-New-Makro das Active-Directory ausgelesen hat und Name, email-Adresse, Telefon usw. in Formularfelder eingetragen hat.
Diese Funktion möcht ich nun auf Open-Writer umsetzen,was aber scheinbar gar ned sooo einfach ist.
Zugriff auf AD iss ehe ein größeres Problem, aber das löse ich indem beim Anmelden des Users über ein LOGON-Script die gewünschten Daten aus dem AD auslese und als txt-Datei auf einem lokalen oder gemappten Laufwerk ablege. Und auf diese Datei möchte ich über ein Makro aus OO zugreifen.
Hat den Vorteil, dass ich diese für andre Dinge auch nutzen kann.
Wie aber bring ich nun dier Daten aus der Datei in Felder auf ein OO-Dokument?
Ich hab hier viiiieeeel gegoogelt und auch getestet, aber so richtig vernünftig hat nix gefunzt.
Es geht schon an, dass es "New-Dokument" basierend auf einer OO-Vorlage scheinbar ned gibt.
Dann gibt es einmal "Engabefelder", und sog. "Shapes"? Welches passt nun besser.
Dann poppt beim Start wieder ein Fenster zur Dateneingabe auf. Das soll aber ned...
Kann ich die Felder auch "schützen" (wie in Word?)
Wer hat dieses Problem schon mal gelöst?
Vielen Dank für Eure Hilfe.
Moderation,4: verschoben in MAKROS (und allgem. Programmierung)-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: WRITER: Eingabefelder füllen
In OOo gibt es dafür die Feldbefehle [Einfügen>Feldbefehl>Autor und Andere...]Oberlandler hat geschrieben:hab ich eine WORD-Vorlage gebaut [...]und Name, email-Adresse, Telefon usw. in Formularfelder eingetragen hat.
Die Informationen, die beim Erstellen eines neuen Dokuments aus einer Vorlage eingefügt werden, werden aus Extras>Einstellungen...>OpenOffice>Benutzerdaten bezogen.
Hilft das nicht weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: WRITER: Eingabefelder füllen
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
-
- Beiträge: 2
- Registriert: Mi, 27.05.2015 15:56
Re: WRITER: Eingabefelder füllen
Erstmal vielen Dank für Deine Hilfe.
"
Das ist mir schon klar. Heißt aber, bei jeden Benutzer diese Daten manuell einzupflegen. Wird bei ca. 100 (u.U. sogar 3000) a bisserl viel.
Und nachdem ich diese Daten ja im AD eh habe, bietet sich das doch an.
Den Link, wo Du dann angehängt hast, hab ich mir schon mehrfach durchgelesen. HIer wird erläutert wie ich die Daten aus dem AD in einen Datei bekomme. Diesen Schritt hab ich schon hinter mir.
Wo ich das Problem hab, ist nun, wie ich die Daten aus der Datei dynamisch ins OO-Dokument bekomme.
Ich hab das mal mit "EIFÜGEN-FELDBEFEHLE-DATENBANK-SERIENDRUCKFELD probiert, aber da wird nix aktualisiert.
Ausserdem schreibt er ja: "Wie ich Text in ein Dokument per Script schreiben kann, weiß ich. Ich möchte halt die Informationen des angemeldeten Users in das Formular einfügen."
Er ja - ich nicht...
Dankfür Deine Hilfe.

Code: Alles auswählen
"Die Informationen, die beim Erstellen eines neuen Dokuments aus einer Vorlage eingefügt werden, werden aus Extras>Einstellungen...>OpenOffice>Benutzerdaten bezogen.
Das ist mir schon klar. Heißt aber, bei jeden Benutzer diese Daten manuell einzupflegen. Wird bei ca. 100 (u.U. sogar 3000) a bisserl viel.
Und nachdem ich diese Daten ja im AD eh habe, bietet sich das doch an.
Den Link, wo Du dann angehängt hast, hab ich mir schon mehrfach durchgelesen. HIer wird erläutert wie ich die Daten aus dem AD in einen Datei bekomme. Diesen Schritt hab ich schon hinter mir.
Wo ich das Problem hab, ist nun, wie ich die Daten aus der Datei dynamisch ins OO-Dokument bekomme.
Ich hab das mal mit "EIFÜGEN-FELDBEFEHLE-DATENBANK-SERIENDRUCKFELD probiert, aber da wird nix aktualisiert.
Ausserdem schreibt er ja: "Wie ich Text in ein Dokument per Script schreiben kann, weiß ich. Ich möchte halt die Informationen des angemeldeten Users in das Formular einfügen."
Er ja - ich nicht...

Dankfür Deine Hilfe.
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: WRITER: Eingabefelder füllen
Naja - dafür sind wir hier ja im Bereich "Programmierung"Oberlandler hat geschrieben:bei jeden Benutzer diese Daten manuell einzupflegen. Wird bei ca. 100 (u.U. sogar 3000) a bisserl viel.

Mit einem ganz alten Thread aus dem oooforum.org (Googles Cache benutzen, die Seite ist schwer bis fast nicht erreichbar!) klappt das Setzen nicht vorhandener Benutzer-Eigenschaften immer noch hervorragend.
Code: Alles auswählen
oConfigData_UserProfile = GetConfigAccess( "/org.openoffice.UserProfile/Data", True )
IF oConfigData_UserProfile.givenname = "" THEN
oConfigData_UserProfile.givenname = "Winfried"
Ich würde so vorgehen:
Dokument aus Vorlage wird erstellt: Makro läuft ab (Extras>Anpassen...>Ereignisse bei der Vorlage, welche Benutzerfelder nutzt)
* prüfen, ob AD Daten schonmal bezogen wurden (sentinel Datei beim Benutzer setzen)
* wenn nicht, Daten aus AD holen und in OOo hinterlegen; Wächter-Datei schreiben
Dann ist es Dir egal, ob es 100 oder 3000 Benutzer sind....
Wäre das nichts?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: WRITER: Eingabefelder füllen
naja, ich denke das soll per Makro geschehen?Wo ich das Problem hab, ist nun, wie ich die Daten aus der Datei dynamisch ins OO-Dokument bekomme.
Wenn ja dann ist das konkrete Feld nahezu egal denn es dient ja nur als Platzhalter, am unverfänglichsten wäre wohl ein Feld vom Typ "Benutzerfeld", hier ist der Zugriff beschrieben:
http://www.dannenhoefer.de/faqstarbasic ... Texte.html
aber noch leichter ist es doch Textmarke zu verwenden, die Du im Dokument (hier also der Dokumentvorlage *.ott dort platzierst wo die gewünschten Infos (name, Telefon, ...) jeweils später erscheinen sollen.
Im Makro musst Du dann nur die entsprechenden Infos an die richtige Textmarke schreiben wie hier beschrieben (siehe "Erster Fall"):
http://www.dannenhoefer.de/faqstarbasic ... dText.html
Gruß
Stephan
Re: WRITER: Eingabefelder füllen
ach und, P.S.
der Zugriff über VBS und Ausgabe in separate DAtei ist wohl unnötig, schau Dir mal den vorletzten Beitrag im Thread:
viewtopic.php?p=30475
an, dort ist ein Beispiel wie man VBS in StarBasic 'kapseln' kann.
Gruß
Stephan
der Zugriff über VBS und Ausgabe in separate DAtei ist wohl unnötig, schau Dir mal den vorletzten Beitrag im Thread:
viewtopic.php?p=30475
an, dort ist ein Beispiel wie man VBS in StarBasic 'kapseln' kann.
Gruß
Stephan