clusters Geschrieben 12. November 2008 Teilen Geschrieben 12. November 2008 (bearbeitet) hallo community, ich hab da ein kleines problem und vielleicht könnt ihr mir ja helfen. Ich habe einen Text in einer Editor-Textdatei und füge diesen in ein Word Dokument ein. Jetzt hätte ich gerne ein Makro, welches automatisch formatiert weiß aber nicht wie ich das machen soll. Meine Textdatei sieht ungefär so aus (Beispiel): Kundennummer #12345 Produkt Wahre xy Preis xx.yy€ Kundennummer soll z.B. Überschrift1, Produkt Standard und Preis Kursiv sein. Leider kenne ich mich nicht mit VBA aus und freue mich deshalb über jeden noch so kleinen Tipp eurerseits. Vielen lieben Dank und freundliche Grüße aus Hofheim Julia Bearbeitet 12. November 2008 von clusters Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
clusters Geschrieben 13. November 2008 Autor Teilen Geschrieben 13. November 2008 ich würde mal auf so etwas tippen, wie: suche kundennummer -> mache Überschrift1 suche produkt -> mache Standard suche preis -> mache Kursiv aber wie gesagt ich weiß nicht wie das funktioniert und würde mich sehr über eine hilfe freuen nachmals grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
clusters Geschrieben 13. November 2008 Autor Teilen Geschrieben 13. November 2008 (bearbeitet) hallo ich hab doch noch ein bisschen was heraus finden können, bräuchte aber immernoch eure hilfe. Die Schriftart fehlt mir noch z.B Arial und nach "Kundennummer" kommt ja noch ein weiterer Text Teil, der ist aber jeweils unterschiedlich und somit möchte ich meine formatierung auf die ganze zeite ausweiten und nicht nur auf "Kundennummer". Sub test() ' ' test Makro ' ' Dim Zeichen$(1) Zeichen$(1) = "Kundennummer" Selection.Find.Format = False Selection.Find.Replacement.ParagraphFormat.Alignment = wdAlignParagraphLeft Selection.Find.Replacement.Font.Size = 18 Selection.Find.Replacement.Font.Bold = False Selection.Find.Replacement.Font.ColorIndex = wdBlack For i = 1 To 1 With Selection.Find .Text = Zeichen$(i) .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = True End With Selection.Find.Execute Replace:=wdReplaceAll Next End Sub Danke und viele grüße Julia Bearbeitet 13. November 2008 von clusters Schreibfehler Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amenos Geschrieben 13. November 2008 Teilen Geschrieben 13. November 2008 (bearbeitet) Hallo was immer hilft um die befehle zu finden die man sucht ist: das machen was du haben willst und diese schritte in ein makro aufzeichnen für einen markierten text wäre z.b. Selection.Font.Name="Arial" wenn die ganze seite -sofern ichs richtig verstehe- später die formatierung von "kundennummer" haben soll.. wieso formatierst du dann die vorlage/das dokument nicht schon von vornherein so wie du es haben willst? das würde dir einige schritte abnehmen. wenn du dein vorhandenes makro noch bisschen änderst.. (in etwa so) Sub test() Dim i As Integer Dim Zeichen$(1) Zeichen$(1) = "Kundennummer" Selection.Find.Format = False Selection.Find.Replacement.ParagraphFormat.Alignment = wdAlignParagraphLeft Selection.Find.Replacement.Font.Size = 18 Selection.Find.Replacement.Font.Name = "Calibri" Selection.Find.Replacement.Font.Bold = False Selection.Find.Replacement.Font.ColorIndex = wdBlack For i = 1 To 1 With Selection.Find .Text = Zeichen$(i) .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = True End With Selection.Find.Execute Replace:=wdReplaceAll Next End Sub ändert er von "Kundennummer" die Schriftgröße, Art etc. allerdings, wie du bereits festgestellt hast, nur von "kundennummer". mit "selection.wholestory" markierst du das gesamte dokument. ich hab die änderungen allerdings nur aus dem kopf aufgeschrieben - kann es im moment also leider nicht testen. müsstest unter umständen dann schauen was dir der vba-editor an möglichkeiten gibt für meine änderungen. vielleicht bringt dich das ja schon weiter *edit: sollte statt "zeite" zeile heissen müsstest du statt mit .wholestory mit Selection.EndKey Unit:=wdLine, Extend:=wdExtend (oder so ähnlich) die entsprechende zeile in der der cursor zu dem zeitpunkt steht, markieren und ändern können. Bearbeitet 13. November 2008 von Amenos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
clusters Geschrieben 14. November 2008 Autor Teilen Geschrieben 14. November 2008 Vielen dank für deine antwort ja das sollte eigendlich zeile heißen hab mich de blöd vertippt irgendwie :upps hat soweit alles gut funtioniert^^ kann man jetzt noch irgendwie einstellen, dass nicht die zeile in der, der cursor steht formatiert wird, sondern die gesamte zeile in der "Kundennummer" steht? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amenos Geschrieben 14. November 2008 Teilen Geschrieben 14. November 2008 das dürfte mit folgendem gehen: Sub test() Dim i As Integer Dim Zeichen$(1) Zeichen$(1) = "Kundennummer" For i = 1 To 1 With Selection.Find .Text = Zeichen$(i) .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = True End With Selection.Find.Execute Selection.EndKey Unit:=wdLine, Extend:=wdExtend Selection.Font.Name = "Arial" Selection.Font.Color = wdColorRed Next End Sub Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
clusters Geschrieben 14. November 2008 Autor Teilen Geschrieben 14. November 2008 dann übertrage ich der Zeile einfach die selbe formatierung wie von "Kundennummer" und alles hat die gleiche formaierung danke dir du hast mir sehr weiter geholfen viele liebe grüße Julia Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amenos Geschrieben 15. November 2008 Teilen Geschrieben 15. November 2008 dafür ist so ein forum schließlich da Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.