Text in Word finden

Hi Folks

Ich habe leider keine VBA Kenntnisse.
Mein Problem: Ich habe eine Worddoc das noch nicht gespeichert ist.
In dem Text steht nun irgendwo Rechnungsnummer: xxxxxx-xx.
Wie bringe ich es Word bei, daß es bei einem klick auch speichern unter den Wert von xxxxxx-xx verwendet?
E!s würde mir auch schon genügen den Wert von xxxxxx-xx in die Zwischenablage zu kopieren.

TNX & CU Fr@nkie

The Truth Is Out There … ;o)

Beispiel-Makro
Hallo Frankie, hier ein Beispiel-Makro:

Public Sub SpeichereDokument()
 Const strBasispfad As String = "C:\Rechnungen\"
 Dim strNummer As String
 Dim dto As DataObject 'Nur für Zwischenablage
 ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
 With Selection
 .MoveRight wdCell
 .MoveDown wdLine
 .MoveLeft wdCell
 .HomeKey wdLine
 .EndKey wdLine, wdExtend
 strNummer = .Text
 End With
 Set dto = New DataObject 'Nur für Zwischenablage nötig:
 dto.Clear
 dto.SetText strNummer
 dto.PutInClipboard
 Set dto = Nothing
 ActiveDocument.SaveAs strBasispfad & strNummer & ".doc"
 ActiveDocument.Close
End Sub

Das Makro über Extras-Anpassen in die Symbolleiste oder das Dateimenü setzen und dann statt des normalen Speichern-Symbols anklicken
Gruß,
Michael

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Michael

Dank Deiner Hilfe bin ich der Problemlösung schon einen Großen Schritt nähergekommen.
So sieht es nun aus. Nur wäre es noch schön wenn Word noch fragen würde ob es die evtl. vorhandene Datei überschreiben soll.

TNX Fr@nkie

Sub Rechnungsnummer()
 Const strBasispfad As String = "d:\@ Die Leuchten\Kunden Rechnungen\"
 Dim strNummer As String

 With Selection.Find
 .Text = "Rechnungsnummer:"
 .Replacement.Text = ""
 .Forward = True
 .Wrap = wdFindContinue
 .Format = False
 .MatchCase = False
 .MatchWholeWord = False
 .MatchWildcards = False
 .MatchSoundsLike = False
 .MatchAllWordForms = False
 End With
 With Selection
 .Find.Execute
 .MoveRight Unit:=wdCharacter, Count:=2
 .MoveRight Unit:=wdCharacter, Count:=9, Extend:=wdExtend
 Selection.Copy
 strNummer = .Text
 End With

 ActiveDocument.SaveAs strBasispfad & strNummer & ".doc"

End Sub
 Dim strPfad As String
 strPfad = strBasispfad & strNummer & ".doc"
 If Dir(strPfad) "" Then
 If MsgBox("Überschreiben?", vbYesNo) = vbYes Then
 ActiveDocument.SaveAs strPfad
 Else
 ActiveDocument.SaveAs InputBox("Neuer Name?", , strPfad)
 End If
 End If
1 Like