Benutzername automatisch in Zelle einfuegen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Voegele
Beiträge: 8
Registriert: Sa, 19.03.2011 14:37

Benutzername automatisch in Zelle einfuegen

Beitrag von Voegele »

Hallo,
aktuell arbeite ich mit OO3.1.
Unter "Extras, Optionen, Openoffice.org, Benutzernamen" kann man ja seinen Namen eingeben.
Wie bringe ich eine Zelle dazu, dass der dort eingegebene Namen automatisch in der Zelle erscheint. Bei verschiedenen Rechner mit verschiedenen Bearbeiter kann dies Sinn machen.

Wäre toll wenn mir jemand einen Rat hat.
Vielen Dank im voraus.

Gruss
Voegele
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von F3K Total »

Hallo,
den entscheidenden Hinweis habe ich aus diesem Form:
viewtopic.php?f=18&t=1509, also Dank an Stefan :)

Das Makro "Benutzerdaten" habe ich in der angehängten Datei nur um die unteren drei Zeilen erweitert.
Hier wird "Nachname, Vorname" in das Feld A1 geschrieben.
Du kannst auch andere Benutzerdaten verwenden, schau Dir das Makro mal an.
Das Makro wird mit dem Öffnen der Calc-Datei ausgeführt, du muß also Markros zulassen, sonst geht es nicht.

Gruß R
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von Gert Seler »

Hallo F3ktotal,
meine Software : BS=W7;OOo_Vers. 3.2.1
fügt das Makro ein ( , )Komma in "A1" links ein und sonst nix.

Bitte überprüfe das Makro noch einmal. Oder muß oben die "user" Adresse angepasst werden ?

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Voegele
Beiträge: 8
Registriert: Sa, 19.03.2011 14:37

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von Voegele »

Hallo Leute,

vielen Dank fuer die Infos. Ich glaub, das geht ziemlich in die Tiefe. Wo kopier ich diesen Makrotext rein? In die "Main" Datei ??? Wie sieht es aus wenn da schon jede Menge Zeugs drinsteht. Setz ich den Makrotext vorne an oder am Schluss.

Gruss

Voegele
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von F3K Total »

Hallo Gert,
Voegele hat geschrieben:Unter "Extras, Optionen, Openoffice.org, Benutzernamen" kann man ja seinen Namen eingeben.
Das Makro sucht in den Daten die unter "Extras, Optionen, Openoffice.org, Benutzerdaten eingegeben wurden.
Wenn hier kein Benutzername definiert ist, kann das Makro auch nichts eintragen, denn es greift ja auf eben diesen zu.

Hallo Voegele,
am einfachsten ist es, wenn Du das Makro in deine Datei, Makro-Bibliothek "Standard" legst. Die Makros in "Standard" werden beim Öffnen des Dokumentes geladen.
Makros.png
Hier kannst Du es entweder in ein vorhandenes Modul (z.B. Module1) speichern, oder unter "Verwalten" ein eigenes Modul anlegen, in das du das Makro dann kopierst.
Ob im Modul schon andere Makros enthalten sind, ist egal, solange der Name des Makros nicht schon belegt ist.
Wichtig ist, das Du der Datei noch sagst, dass es dieses Makro beim Öffnen der Datei ausführen soll. Dazu das Makro unter
"Extras/Anpassen/Ereignisse" dem Ereignis "Dokument öffnen" zuordnen. Siehe Bild:
Event.png
Viel Erfolg
Gruß R
Voegele
Beiträge: 8
Registriert: Sa, 19.03.2011 14:37

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von Voegele »

Hallo,

herzlichen Dank fuer die Infos. Ich glaub ich bin ziemlich nah dran. Hab alles eingerichtet, weiss jedoch nicht wie ich jetzt den Makrotext anpassen soll.
Folgendes Problem: Das Tabellenblatt heisst "Rapport". In derZelle E6 soll automatisch Vorname und Nachname stehen.

Besten Dank.

Gruss
Voegele
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von F3K Total »

Hallo Voegele

einfach die unteren Zeilen wie folgt anpassen:

Code: Alles auswählen

osheet=thisComponent.sheets.getbyname("Rapport")
ocell=osheet.getCellRangeByName("E6")
ocell.string=reg_daten.sn+", "+reg_daten.givenname
End Sub
Wenn Du statt "Nachname, Vorname" lieber "Vorname Nachname" haben möchtest, dann änderst Du noch

Code: Alles auswählen

ocell.string=reg_daten.sn+", "+reg_daten.givenname
in

Code: Alles auswählen

ocell.string=reg_daten.givenname+" "+reg_daten.sn
Gruß R
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von Gert Seler »

Hallo F3K,
unter "Benutzerdaten" ist bei mir nur der Vorname/Nachname/Kürzel eingetragen, hängt es vielleicht daran ?

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von F3K Total »

Hallo Gert,
mehr habe ich auch nicht eingegeben.
Das Makro ist von von Stephan » Fr, 13.08.2004 22:10, das heißt doch wohl, dass es auch unter OOo vor 3.2.1 funktioniert hat. Ich verwende OOo3.3 unter W7, da läuft es auch.

Wie gesagt, die Benutzerdaten unter "Extras, Optionen, Openoffice.org, Benutzerdaten", nicht die Benutzerdaten der Datei.

Gruß R
Voegele
Beiträge: 8
Registriert: Sa, 19.03.2011 14:37

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von Voegele »

Hallo an Alle,

nochmals vielen Dank.

....ich hab´s wie unten aufgefuehrt drin. Die anderen Sachen hab ich soweit beachtet. Funktionieren tut´s trotzdem nicht. Muss ich die haelfte loeschen? Ich steh total im Wald.

Sub Benutzerdaten
Dim DATEN(13, 1)
Dim ergebnis
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())
DATEN(0,1) = reg_daten.o
DATEN(0,0) = "Firma: "
DATEN(1,1) = reg_daten.givenname
DATEN(1,0) = "Vorname: "
DATEN(2,1) = reg_daten.sn
DATEN(2,0) = "Nachname: "
DATEN(3,1) = reg_daten.initials
DATEN(3,0) = "Namenskürzel: "
DATEN(4,1) = reg_daten.title
DATEN(4,0) = "Titel: "
DATEN(5,1) = reg_daten.position
DATEN(5,0) = "Position: "
DATEN(6,1) = reg_daten.telephonenumber
DATEN(6,0) = "Telefon (geschäftlich): "
DATEN(7,1) = reg_daten.facsimiletelephonenumber
DATEN(7,0) = "Fax-Nummer: "
DATEN(8,1) = reg_daten.homephone
DATEN(8,0) = "Telefon (privat): "
DATEN(9,1) = reg_daten.mail
DATEN(9,0) = "Email: "
DATEN(10,1) = reg_daten.street
DATEN(10,0) = "Straße: "
DATEN(11,1) = reg_daten.postalcode
DATEN(11,0) = "Postleitzahl: "
DATEN(12,1) = reg_daten.c
DATEN(12,0) = "Land: "
DATEN(13,1) = reg_daten.l
DATEN(13,0) = "Ort: "
For i = 0 to 13
ergebnis = ergebnis & DATEN(i,0) & DATEN(i,1) & CHR(13)
Next i
MsgBox ergebnis
osheet=thisComponent.sheets.getbyname("Rapport")
ocell=osheet.getCellRangeByName("E6")
ocell.string=reg_daten.givenname+" "+reg_daten.sn
End Sub


........DANKE.........

Schoenen Abend noch.
Voegele
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von F3K Total »

Hallo Voegele,

das gibts doch nicht!
Anbei schicke ich nochmal eine Calc Datei, in der ich eine Tabelle "Rapport" habe.
Wenn ich diese Datei öffne, wird der Benutzername ins Feld "E6" eingetragen.
Versuch bitte mal, ob die Datei bei Dir auch funktioniert.
Das Makro habe ich jetzt aufs Wesentliche gekürzt, ging aber vorher genauso gut.

Code: Alles auswählen

Sub Benutzerdaten
Dim ergebnis
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())

'in die Tabelle eintragen
osheet=thisComponent.sheets.getbyname("Rapport")
ocell=osheet.getCellrangebyname("E6")'ByPosition(4,5)'fünfte Spalte(E),Sechste Zeile(6)
'ocell.string=reg_daten.sn+", "+reg_daten.givenname
ocell.string=reg_daten.givenname+" "+reg_daten.sn
End Sub
Gruß R
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von Gert Seler »

Hallo F3K,
besten Dank für Deine Bemühungen, meine grauen Zellen sind halt etwas träger.
Das angepasste Makro funktioniert wunderbar !

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Voegele
Beiträge: 8
Registriert: Sa, 19.03.2011 14:37

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von Voegele »

Hallo an Alle,

........ich hab´s mit grosser Muehe hingekriegt. DANKE. Jetzt kommt es aber dick. Ich hab die Datei als .ots (Vorlage) abgespeichert. Wenn ich die Datei oeffne; macht mir das Programm eine neue (unbenannte Datei) auf, der ich zuerst einen Namen geben muss. Das Makro tut dann natuerlich nicht.

Hat jemand eine Idee.

Liebe Gruesse

Voegele
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von F3K Total »

Ja,
bei mir funktioniert es, wenn ich das Makro statt auf "Dokument öffnen" auf "Ansicht wurde erzeugt" lege.
Gruß R
Voegele
Beiträge: 8
Registriert: Sa, 19.03.2011 14:37

Re: Benutzername automatisch in Zelle einfuegen

Beitrag von Voegele »

Vielen Dank.


Voegele
Antworten