Variablen festelegen bei Dokumentinitialisierung

romin

Mitglied
Hallo,
Ich versuche momtan ein Wordformular ein wenig mit VBA aufzumöbeln. Dafür müss ich aber bevor irgendein anderes Makro ausgeführt wird, ein paar meiner Variablen einen Wert zuweisen. Ich habe es schon versucht mit
Code:
 Private Sub Document_New()
und
Code:
Private Sub Document_Open()
weil ich nichts anderes finden konnte. Beides funktioniert nicht so wie ich es brauche. Gibt es da auch eine Möglichkeit (In Excel kann man das ja z.b. mit Worksheet_Activate() machen)

Vielen Dank im vorraus
romin
 
Im Prinzip kannst du schon dort Variablen einen Wert zuweisen, du musst aber die Variablen in einem Modul deklarieren (außerhalb einer Prozedur). Wenn du die Variablen in der Document-Prozedur deklarierst ist sie ja nur in dieser Prozedur gültig.

Alternativ kannst du auch die Auto-Makros benutzen (such in der VBA-Hilfe einfach nach "autoexec"), für die gilt aber auch die Variablendeklarierung außerhalb der Prozedur.


Der Doc!
 
ok das Problem mit den Variablen wäre gelöst, ich bräuchte aber noch ne Möglichkeit in ein FormField das aktuelle Datum zu schreiben. Ich könnte zwar sämtliche andere FormFields mit Makros hinterlegen die das Datumsfeld beschreiben, aber das fände ich irgendwie ein wenig "unelegant" ^^. Jemand noch ne schlaue Idee dazu
Und danke noch mal an den Doc ^^
Gruß romin

/edit: also es funktioniert nicht so wie ich gehofft hatte. Das Makro was ich schreibe soll wenn ein bestimmtest FormField ausgefüllt ist eine neue Tabellenzeile einfügen und in die erste Zelle die Zeilennnummer schreiben. Diese Zeilennummer wird als i abgespeichert. Über die Spaltennummer i spreche ich auch die ganzen FormFields in der Tabelle an z.B. über
"Name" & i
in der 2. bzw. dritten Spalte holt sich das Programm i aus der vorhergehenden Zeile. Da ich aber überhaupt Wordmakros nicht mag/programmieren kann (ich finde einfach, dass das ansprechen von bestimmten Textteilen viel zu kompliziert ist. Ist bei Excel mit den Zellen viel einfacher^^) kann ich auch nicht das erste i auslesen. Dazum kommt noch ein weiteres Problem, ich kann nämlich aus irgendeinem Grund die Officehilfe nicht verwenden (Formatieren würde das Problem zwar beheben, ist blöder Weise nicht mein Notebook)
Gruß romin (ich hasse Wordmakros ^^)

//edit: So mein i Problem habe ich nun doch gelöst bekommen, Mit Tabellen geht das ja schon fast so wie in Excel, mich würde nur noch interessieren ob es das ne Möglichkeit für die Automatische Datumseingabe gibt?
 
Zuletzt bearbeitet:
Ich versteh das Problem zwar nicht ganz, versuch mir das aber mal vorzustellen.

Du hast ein FormField und du willst über ein Makro dort das Aktuelle Datum reinschreiben? Das geht ganz einfach mit
Visual Basic:
ActiveDocument.FormFields("DeinFeld").Result = Date
Du kannst das Feld natürlich über eine Variable ansprechen:
Visual Basic:
i = 10 'Deine Nummerierung
Feldname = "Name " & i 'Namen zusammensetzen
ActiveDocument.FormFields(Feldname).Result = Date

Wenns das nicht war, beschreib das ganze bitte genauer.


Der Doc!
 
Hi,
also Momentan wird das Datum dann automatisch eingetragen, wenn irgend ein FormField geändert wird. Ich fände es aber noch wesentlich schöner wenn das Datum eingetragen wird, wenn ich das Dokument öffne
Gruß romin
 
Das ist einfach, den oben geposteten Code machst du einfach in die Document_Open rein, dann wird beim öffnen des Dokuments das Datum aktualisiert. Alternativ kannst du aber Formularfeldern (zumindest Textfeldern) ja den Typ Aktuelles Datum zuweisen, dann wird immer das aktuelle Datum eingetragen.


Der Doc!
 
Zurück