Word VBA Speichern-unter-Dialog mit automaitschem Dateinamen aus Textfeldern

Dieses Thema im Forum "Programmieren" wurde erstellt von FloFelber, 30. März 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. FloFelber

    FloFelber Byte

    Registriert seit:
    2. September 2001
    Beiträge:
    32
    Hi Leutz,

    ich bräuchte mal ganz kurz Eure Hilfe zu einem kleinem VBA-Problem. Ich habe in der PC-Welt-Seite ein Script gefunden, dass es mir ermöglicht den vorgeschlagegenen Dateinamen beim Speichern-unter-Dialog zu ändern, z.B. auf die Betreffzeile.

    Wenn ich also einen Brief geschrieben habe und den speichern will, kommt automatisch die Betreffzeile als Dateiname.

    Jetzt wollte ich das ganze etwas verfeinern und muß offen zugeben, ich bin einfach etwas zu blöd dazu, weil ich mich mit VBA nicht auskenne.

    Mein Problem: Der Vorschlagsname soll sich aus folgenden Elementen zusammenbauen:

    Themenbereich + Dokumentenart + Quellform + Kontaktland + Kontaktname + Betreff

    Das sieht dann z.B. so aus:
    Beruf-Bewerbung-Word-CH-XY AG-Bewerbung als XY.doc

    Die Begriffselemente Themenbereich, Dokumentenart etc.... sind eigentlich fast statisch, auf die kommt es mir jetzt nicht so an. ABER der Kontaktname ist mir wichtig und macht mir Probleme beim Hinzugfügen in die Dateinamenszeile.

    Ich habe bisher folgenden Code geschrieben:

    Sub FileSaveAs() '

    ActiveDocument.Shapes(1).TextFrame.TextRange.Select
    Betreff = Selection
    l = Len(Selection) - 1
    Betreff = Left(Selection, l)
    Themenbereich = "Beruf-"
    Dokumentenart = "Brief-"
    Quellform = "Word-"
    Kontaktland = "DE-"
    Kontaktname = "Textfeld2-"
    With Dialogs(wdDialogFileSaveAs)
    .Name = Themenbereich + Dokumentenart + Quellform + Kontaktland + Kontaktname + Betreff
    .Show
    End With

    End Sub

    Da wo jetzt Kontaktname = "Textfeld2-" steht, sollte nun aus dem zweiten Textfeld der Text entnommen werden. Ich versuchte nun, dass über ActiveDocument.Shapes(2).TextFrame.TextRange.Select zu lösen, dass funzt aber nicht.

    Kann mir jemand hier helfen??????????

    Merci

    Flo
     
  2. gerald_b

    gerald_b Kbyte

    Registriert seit:
    15. Januar 2003
    Beiträge:
    259
    Hallo,

    meiner Meinung nach wird mit TextRange.Select lediglich der Text markiert; um diesen einzufügen müsstest Du diesen in die Zwischenablage kopieren und einfügen.

    Daher mein Vorschlag: probiere es mal mit ActiveDocument.FormFields("Textfeld2").Result


    Damit hast Du den aktuell in diesem Feld stehenden Text direkt zur Verfügung.


    Gruß

    Gerald
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen