Word 2010 Briefvorlage für mehrere Benutzer erstellen geschlossen 

Status
Für weitere Antworten geschlossen.

Snip3r

Urgestein
Registriert
Feb. 2007
Beiträge
2.008
Hallo zusammen,
ich hab folgendes Problem. Ich soll eine Briefvorlage für mehrere Benutzer erstellen.
Das ganze soll so funktionieren, dass der Benutzer seinen Benutzernamen in ein Fillin Feld eingibt und anschließend seine Daten (Vorname + Nachname, Telefonnummer, E-Mail Adresse und sein Kurzzeichen) im Brief erscheinen. Alternativ könnte das ganze auch über den Windows Benutzernamen laufen.

Ich hab das ganze schon mit IF versucht, allerdings klappt das nur, wenn der Benutzer die entsprechenden Bereiche markiert und F9 drückt, was ich dem Benutzer leider nicht zumuten kann. Von VBA habe ich leider kaum Ahnung, ich kann das höchstens lesen und verstehen. ;)

Wer kann mir helfen?

Danke & gruß
snip3r
 
Interessant, kannte ich gar nicht Feldfunktionen: Fill-In-Feld - Word - Office.com Ich habe bisher aus älteren Versionen die Textformularfelder benutzt. Die sind jetzt in den Entwickleroptionen zu den Steuerelementen gewandert.

Der Benutzername, den jeder Benutzer beim ersten Start von Word eingibt, ist in den Optionen auf der ersten Seite gespeichert, darunter die Initialen. Das ist nicht der Windows-Benutzername. Schau dir mal die Felder USERNAME und AUTHOR an.

Von wo sollen die ganzen Daten herkommen? Hast du irgendwo eine Exceltabelle, wo zu jedem Namen die Telefonnummer, Emailadresse und das Kurzzeichen hinterlegt sind? Wenn ja, lässt sich ein Benutzer eindeutig anhand des Kurzzeichens identifizieren? Oder doch lieber über "Vorname Nachname"?

Oder soll der Benutzer jedes Mal alle seine Daten in einem Dialogfenster eingeben, wenn er die Vorlage öffnet?

Das wären die zwei Alternativen, die mir zu Formularfeldern einfallen. Da benutzt man allerdings F11, um zum nächsten Feld zu springen. Kannst du mir erklären, was du mit F9 meinst?

Gruß

FeliX_22
 
Hey,
danke für deine Antwort.
Bisher hatte ich es folgendermaßen:
Code:
{ ASK username "Username:" \d "{ FILLIN "Bitte geben Sie Ihren Benutzernamen ein:" }" }
Das hatte für mich den Sinn, dass ich eine Variable vergeben habe (username) und gleichzeitig beim Öffnen der Vorlage das Fillin Feld aufgerufen wird. Denn blöderweise werden ASK Felder nur aufgerufen wenn man sie markiert und F9 bzw. rechtsklick "Wert aktualisieren" oder so ähnlich drückt. Genauso verhält es sich wohl mit IFs
Anschließend hatte ich eine verschachtelte IF Bedingung:
Code:
{ IF username = "abc123" "Max Mustermann, TELEFON, EMAIL" IF username = "def123" "M. Muster, TELEFON, EMAIL" "Unbekannter Benutzername!" }
Da es insgesamt etwas mehr als 10 Benutzer für die Vorlage gibt, habe ich mich für diesen (unschönen) weg entschieden.

Problem an der ganzen Sache ist, dass ASK und IF Felder nur durch F9 aktualisiert werden, was dem Standardbenutzer nicht zumutbar ist.

Bei meiner Internetsuche bin ich auf ein Codeschnippsel gestoßen, bei dem man die ganzen Benutzerdaten (bei mir: Telefon, E-Mail, Name und Kurzzeichen) in den VBA Code reinschreibt:
Code:
Private Sub Document_New()
Dim nachname As String, vorname As String, email As String
Dim akt_anwender As String
akt_anwender = Environ("Username")

On Error GoTo fehler

Select Case akt_anwender
Case Is = "pfallerpaul"
nachname = "Pfaller"
vorname = "Paul"
email = "p.pfaller@firma.de"

'case is .....
'nachname = ....
'vorname = ....
'email = ....

'....

Case Else
MsgBox "Dieser Anwender ist unbekannt"
Exit Sub
End Select

With ActiveDocument
.Bookmarks("nachname").Range.Text = nachname
.Bookmarks("vorname").Range.Text = vorname
.Bookmarks("email").Range.Text = email
End With

Exit Sub
fehler:

If Err.Number = 5941 Then
MsgBox "Eine der benötigten Textmarken fehlt!"
Else
MsgBox Err.Description & " - " & Err.Number
End If

End Sub
 
Ja, und? Dann ist das Problem doch erledigt, wenn du an die entsprechenden Stellen im Dokument die Textmarken einfügst. Geht es nur noch um F9? Wird das Dokument nach dem VBA-Code nicht aktualisiert? Dann häng noch eine Zeile am Schluss ran:

Selection.Fields.Update

Verstehe das Problem nicht. Wenn du den Code und die Textmarken hast, dann vergiss doch die ganzen Felder und das F9.

Gruß

FeliX_22
 
FeliX_22 schrieb:
Ja, und? Dann ist das Problem doch erledigt, wenn du an die entsprechenden Stellen im Dokument die Textmarken einfügst.
Das ist das Problem, ich weiß nicht wie das mit den Textmarken gehen soll.
 
Noch nicht gelöst?

- An die Stelle, wo der Vorname reinkommt, klicken.
- Einfügen - Textmarke - Als Textmarkenname vorname eingeben
- Auf Hinzufügen klicken
- Mit den anderen Textmarken wiederholen
- Alt + F11 drücken
- Strg + R drücken, damit der Projektexplorer eingeblendet ist
- ThisDocument suchen, aber nicht unter Normal, sondern unter dem Namen der Vorlage
- Auf ThisDocument doppelklicken
- Deinen VBA-Code einfügen
- VBA-Fenster schließen
- Word-Datei speichern und schließen
- Datei neu öffnen und staunen

Gruß

FeliX_22
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Zurück
Oben Unten