Hallo zusammen,
ich möchte per Makro folgendes erreichen
- Altes Textfeld markieren und löschen
- Anschließend neues Textfeld schreiben
Dabei sollen folgende Inhalte in dieses Textfeld
hr Ansprechpartner:
<Mitarbeiter>
Telefon:<Tab> <MitarbeiterTelefonnr>
Telefax:<Tab> <MitarbeiterFaxnr>
E-Mail:<Tab> <MitarbeiterEMail>
Kunden-Nummer:<Tab> <Kundennr>
Vertragskonto-Nummer:<Tab> <Vertragskonto>
<aktuelles Datum>
<...> = Name des Formularfeldes
<Tab> = Drücken der Tab-Taste bzw. das entsprechende Zeichen
Aussehen soll das ganze dann so:
hr Ansprechpartner:
xxxxxxx
Telefon: xxxxxxx
Telefax: xxxxxxx
E-Mail: xxxxxxxx
Kunden-Nummer: xxxxxxx
Vertragskonto-Nummer: xxxxxxx
18. Januar 2012
Es müssen zwei Tabulartorpositionen gesetzt werden:
- für Telefon bis E-Mail
- für Kunden- und Vertragskonto
Dei Schriftart soll Times New Roman 10 und für Datum 12 sein
Mein bisheriger Code
Sub Textfeld_Zeichnen()
Dim shp As Word.Shape
ActiveDocument.Shapes(1).Delete
Set shp = ActiveDocument.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, _
Left:=10, _
Top:=10, _
Width:=10, _
Height:=10, _
Anchor:=Selection.Paragraphs(1).Range)
With shp
.Name = "TB_" & CStr(Rnd())
.LockAnchor = True
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.LockAspectRatio = False
.Top = CentimetersToPoints(5)
.Left = CentimetersToPoints(12.5)
.Width = CentimetersToPoints(6.5)
.Height = CentimetersToPoints(5.5)
.Line.ForeColor.RGB = RGB(255, 255, 255)
.Line.BackColor.RGB = RGB(255, 255, 255)
.TextFrame.TextRange.Font.Name = "Times New Roman"
.TextFrame.TextRange.Font.Size = 10
.TextFrame.TextRange.Text = "Ihr Ansprechpartner:" & vbCrLf & _
"" & vbCrLf & _
"Telefon:" & vbTab & vbCrLf & _
"Telefax:" & vbTab & vbCrLf & _
"E-Mail:" & vbTab & vbCrLf & vbCrLf & _
"Kunden-Nummer:" & vbTab & vbCrLf & _
"Vertragskonto-Nummer:" & vbTab & vbCrLf & vbCrLf
'.TextFrame.TextRange.FormFields.Add(.TextFrame.TextRange.FormFields.Add(,wdFieldFormTextInput)
' .TextFrame.TextRange.InlineShapes.AddOLEControl ("Forms.TextBox.1")
'.TextFrame.TextRange.Text = .TextFrame.TextRange.Text & Formularfeld_Einfügen_Text("Mitarbeiter")
End With
End sub
Was mir noch fehlt.
- Das setzen der Schriftart und Größe für das Datum
- Die entsprechenden Formularfelder
Welche Formularfelder ich meine
- bis Word 2003 die, die man über die Symbolleiste 'Formular, AB|" einfügen konnte
- Word 2010 die, die man über Ribbon 'Entwicklertools, Steuerelemente, Vorversionstools, Erste Symbol ab|'
bekommt. Diese sind dann graue Felder
- Die einzelnen Felder benennen (siehe Spitzeklammern oben)
Das ganze soll für Briefe sein, die alle darüber ein entsprechendes Textfeld bekommen sollen. Die Benennung der Formularfelder soll dafür sein, dass ein anderes Makro die entsprechenden Benutzerwerte einfügt (klappt schon). Ich als Betreuer der Vorlagen will mir dadurch das Einrichten bestehender Vorlagen vereinfachen und die Vorlagen immer gleich aussehen. Weiterhin sollen die Benutzer Ihre eigenen Vorlagen dadurch auch schnell umändern konnen.
So, Ich hoffe, dass ihr mich versteht und freue mich, wenn mir jemand von Euch einen entsprechenden Bsp.-Code geben kann.
Vielen Dank
Volker Bunge