VBA und Textmarken(Word)

Dieses Thema VBA und Textmarken(Word) im Forum "Windows XP Forum" wurde erstellt von Viper, 27. Aug. 2003.

Thema: VBA und Textmarken(Word) Hilfe! Ich verzweifle...habe vor in einer Wordvorlage mehrere Daten in Abhängigkeit zu einem eingegebenen Datum zu...

  1. Hilfe! Ich verzweifle...habe vor in einer Wordvorlage mehrere Daten in Abhängigkeit zu einem eingegebenen Datum zu generieren und dachte mir doch einfach ein Makro zu schreiben.

    Habe in der Vorlage an den Stellen an denen die Daten generiert werden sollen Textformularfelder erzeugt und diese mit Textmarken versehen.

    Nun habe ich das Problem, dass ich den in den Textformularfelder enthaltenen Text nicht in eine
    Variable kopiert bekomme um damit weiterzuarbeiten.

    Eine kurze Schilderung der Lage:

    vntDatum(variant): meine Variable in die der Inhalt des Textformularfeldes kopiert werden soll
    op: Textmarke, in die das Ausgangdatum eingegeben wird
    sieben: Textmarke, in die ich das Ausgangsdatum+7 Tage schreiben möchte

    Also bin ich schonmal so weit, dass ich weiss was und wie ich es machen will:

    -Ich nehme das Datum aus op und schreibe es in die Variable vntDatum
    -Nun gehe ich mithilfe der Funktion DateAdd hin, addiere 7 Tage und erhalte das gewünschte Datum,welches ich in sieben schreiben möchte.

    Ich weiss jetzt nur nicht, wie ich op in vntDatum und das gewünschte Datum in sieben schreibe.

    Sry...vielleicht ein bisschen komliziert geschrieben, aber ich bin zur Zeit etwas durcheinander

    MfG

    Viper
     
  2. Hi Viper,

    ich würde erst einmal prüfen, ob wirklich ein Datum eingegeben wurde. Wenn ja, den Wert einer Variablen vom Typ Date zuweisen. Dann einfach 7 (Tage) aufaddieren.

    Wie du an die Felder herankommst ist im untern Beispiel beschrieben.

    Gruß Matjes :)

    Code:
    Sub DatumPlus7Tage()
    Dim s_tmp As String
    Dim meinDatum As Date
      s_tmp = ActiveDocument.FormFields(op).Result
      If IsDate(s_tmp) Then
        meinDatum = s_tmp
        ActiveDocument.FormFields(sieben).Result = meinDatum + 7
      Else
        MsgBox (kein Datum in TextBox1 enthalten & vbLf & vbLf & _
                Eingabe =  & s_tmp)
      End If
    End Sub