Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Textfile in Word einfügen und anschliessend formatieren
Gehe zu Seite 1, 2, 3  Weiter
zurück: Größe des Dialogfeldes Extras Anpassen beeinflussen weiter: Automatisches ziehen von Grafiken Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Feb 2009, 15:45
Rufname:

Textfile in Word einfügen und anschliessend formatieren - Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hi Leute!

In meinem Berufsalltag verfasse ich des öfteren technische Berichte die immer ähnlich aufgebaut sind. In einem Kapitel füge ich mehrere, unabhängige Textfiles ein die ich anschliessend noch formatieren muss (Einzug, Textgröße, usw.). Nun würde ich gerne für diese Tätigkeit ein Makro schreiben. Meiner Vorstellung nach sollte ein Dialog öffnen, ich wähle die Datei aus die eingefügt wird, anschliessend wird automatisch der Einzug und die Textgrösse verändert (brauche immer die selbe Grösse und den selben Einzug) und der File befindet sich in meinem Bericht. Den Dialog zum Einfügen habe ich schon! Die Datei befindet sich zum Schluss auch in meinem Bericht... nur das mit der Formatierung funktioniert nicht... das Problem liegt darin dass ich nicht weiss wie ich "nur" den eingefügten Teil markieren kann. Die Textfiles haben keine eindeutige Überschrift oder Schlussatz nach denen ich suchen könnte... ich bin in VBA nicht so wirklich fit...

Bitte um Mithilfe!

Danke, Alex
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
25. Feb 2009, 16:45
Rufname:
Wohnort: Leipzig


AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Alex,

zeig mal den Code, in dem Du den Textfile auswählst. Dann könnte man beim Einfügen des Textes dafür sorgen, dass der Range fassbar bleibt, damit kann man ihn leicht formatieren.

Also es wird benötigt:
  • der Code zur Auswahl
  • Wie soll der Text genau formatiert werden?
  • Wenn du schon hast, den Code, der den Text am Zielort einfügt.

Gruß
Lisa
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Feb 2009, 17:13
Rufname:

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Das ist mein Code:

Sub TextImport()

Dim dialog As FileDialog
Dim text As String

Set dialog = Application.FileDialog(msoFileDialogFilePicker)
dialog.Title = "Auswahl der Textdatei"
dialog.Filters.Add "Textdateien", "*.txt", 1
dialog.ButtonName = "Import"



With dialog
If .Show = -1 Then
text = dialog.SelectedItems.Item(1)
Selection.InsertFile (text)
End If
End With

End Sub



Die textdatei sollte eine Schriftgrösse von 9 haben.
Linksbündig, Einzug 2cm.

Danke, Alex
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
25. Feb 2009, 17:41
Rufname:
Wohnort: Leipzig

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Alex,

probier mal so:
Code:
Sub TextImport()

    Dim dlg As FileDialog
    Dim strText As String
    Dim rng As Word.Range
   
    Set dlg = Application.FileDialog(msoFileDialogFilePicker)
    dlg.Title = "Auswahl der Textdatei"
    dlg.Filters.Add "Textdateien", "*.txt", 1
    dlg.ButtonName = "Import"
   
    With dlg
        If .Show = -1 Then
            strText = dlg.SelectedItems.Item(1)
        End If
    End With
   
    Set rng = Selection.Paragraphs(1).Range
    With rng
        .InsertFile (strText)
        .Font.Size = 9
        .ParagraphFormat.Alignment = wdAlignParagraphLeft
        .ParagraphFormat.LeftIndent = CentimetersToPoints(2)
        .Collapse wdCollapseStart
    End With

End Sub

Die Änderung der Variablennamen habe ich mal vorgenommen, weil es nicht besser ist, keine VBA-Schlüsselwörter als Variablennamen zu verwenden (dialog, text).

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Feb 2009, 17:50
Rufname:


AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Danke!

Funktioniert perfekt!

Razz
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Apr 2009, 17:50
Rufname:

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Warum funktioniert das jetzt nur wenn ich das ganze am Ende meines Dokumentes ausführe. Irgendwo in der Mitte des Dokumentes funktionert es nicht. Kann mir jemand weiterhelfen?

Code:

Sub TextImport()]

    Dim dlgtext As FileDialog
    Dim strText As String
    Dim rng As Word.Range
   
    Set dlgtext = Application.FileDialog(msoFileDialogFilePicker)
        dlgtext.Title = "Auswahl der Textdatei"
        dlgtext.Filters.Add "Textdateien", "*.txt", 1
        dlgtext.ButtonName = "Import"
   
    With dlgtext
        If .Show = -1 Then
            strText = dlgtext.SelectedItems.Item(1)
            frmText.Show
           
                       
            Set rng = Selection.Paragraphs(1).Range
            With rng
                .InsertFile (strText)
                .Font.size = fsize
                .ParagraphFormat.Alignment = wdAlignParagraphLeft
                .ParagraphFormat.LeftIndent = CentimetersToPoints(fentry)
                .Collapse wdCollapseStart
            End With
        Else
        End If
    End With
    dlgtext.Filters.Clear
    Set dlgtext = Nothing
   
End Sub


Danke,
Alex
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
15. Apr 2009, 17:59
Rufname:
Wohnort: Leipzig

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Alex,

was funktioniert denn nicht mitten im Dokument? Der Code fügt immer an dem Absatz ein, in dem die Selection (Eingabemarke) beim Start des Makros steht.

Also bitte genaue Angaben:
  • Wie verhält sich das Makro, wenn der Cursor am Ende des Dokuments steht?
  • Wie verhält sich das Makro anders, wenn der Cursor innerhalb des Dokuments steht? Was funktioniert da nicht?
  • Steht der Cursor möglicherweise an einer "exotischen" Stelle? In einem Textfeld, einer Tabelle etc.?


Bei mir funktioniert der Code, abgesehen davon, dass ich nicht weiß, was in frmText.Show abläuft. Dort müssen ja offenbar die Variablen fsize und fentry gefüllt werden. Ich habe es mit festen Werten probiert. Der Code funktioniert.

Gruß
Lisa
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Apr 2009, 18:14
Rufname:

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Lisa,

vorerst einmal vielen Dank für Deine schnelle Antwort!

Ich habe ein neues Word-Dokument geöffnet. Dann habe ich mehrere Leerzeilen eingefügt. Wenn ich nun den Code ausführe funktioniert er nur wenn ich mich in der letzten Leerzeile befinde. In einer Zeile dazwischen wird der Text zwar eingefügt, aber mit der Formatierung klappt's nicht... ich weiss auch nicht warum???

Schöne Grüsse aus Innsbruck,

Alex
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
15. Apr 2009, 18:30
Rufname:
Wohnort: Leipzig

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Alex,

das ist ja rätselhaft. Lauf doch bitte mal im Einzelschritt durch den Code und beobachte nach jedem Schritt, wie der eingefügte Text aussieht, besonders natürlich innerhalb der With-Anweisung, in der die Formatierung durchgeführt wird. Wird alles ausgeführt?
Ich kann es hier nur unter Word 2002 testen, dort funktioniert es. Beim Durchlaufen im Einzelschritt sieht man zunächst, dass der Text eingefügt ist, danach wird die Schriftgröße geändert, die Ausrichtung auf links, dann der linke Einzug.

Wie sieht das beim Durchlaufen im Einzelschritt aus? Werden die Zeilen abgearbeitet? Ist das Ergebnis zu sehen? Werden alle drei Formatieranweisungen ignoriert? Oder nur einzelne?

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Apr 2009, 18:55
Rufname:

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Lisa,

es ist auch im Einzelschritt-Verfahren so wie ich es vorhin beschrieben habe. In beiden Fällen durchläuft er alle Schritte wobei er einmal die Formatierung durchführt und einmal nicht?!? Irgendwie komisch oder? Kann das mit meinem Rechner zu tun haben?

Grüsse,
Alex
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
15. Apr 2009, 19:25
Rufname:
Wohnort: Leipzig

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Alex,

ja, probier mal bitte Folgendes: Innerhalb der With-Anweisung für den rng den Code so:
Code:
            With rng
                .InsertFile (strText)
                .Font.Size = fsize
                .ParagraphFormat.Alignment = wdAlignParagraphLeft
                .ParagraphFormat.LeftIndent = CentimetersToPoints(fentry)
                .Select
                Stop
                '.Collapse wdCollapseStart
            End With

Hier wird nach dem Einfügen des Textes und der Formatierung der Bereich ausgewählt (select). Danach hält das Makro an, "Stop" ist gelb unterlegt. Schalte bitte an dieser Stelle mit Alt Tab zu Word um: Hier ist jetzt der rng, also der Bereich selektiert (markiert). Das ist bei mir der gesamte neu eingefügte Text. Ich vermute, das ist bei Dir nicht so. Wo siehst Du jetzt den Cursor, vor dem eingefügten Text oder danach oder ist der gesamte neu eingefügte Text markiert?

Wenn Du zu Beginn des Makros am Dokumentende standest, dürfte jetzt der gesamte neu eingefügte Text markiert sein. Deswegen wird er auch formatiert.

Wenn Du zu Beginn des Makros irgendwo innerhalb des Textes standest, steht der Cursor vermutlich vor oder nach dem eingefügten Text. Ist das so? Wo steht er?

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Apr 2009, 09:31
Rufname:

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Guten Morgen Lisa!

Ja, Du hast vollkommen recht:

Wenn ich am Ende des Textes stehe und das Makro ausführe ist anschliessend der gesamte neue Text markiert.

Wenn ich irgendwo stehe ist der Text nicht markiert, der Cursor steht vor dem ersten Zeichen des neu eingefügten Textes.

Warum ist das so?

Danke für Deine Hilfe!

Alex
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Apr 2009, 09:36
Rufname:

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Lisa,

ich habe noch eine Frage:

Der Text den ich einfüge sieht rein optisch immer gleich aus, zumindest sind die selben Überschriften und Unterpunkte. Ist es möglich nach dem Einfügen des Textes nach diesen bestimmten, immer gleich bleibenden Überschriften zu suchen, und diese anschliesend getrennt noch "fett" zu schreiben bzw. zu "unterschreichen". Für einen Code-Vorschlag wäre ich sehr dankbar...

Übrigens, kannst Du mir ein Buch für VBA empfehlen, damit ich mich ein wenig verbessern kann...

Danke,
Alex
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
17. Apr 2009, 20:42
Rufname:
Wohnort: Leipzig

AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Alex,

immer eins nach dem anderen ;)
Offenbar gibt es geringfügige Unterschiede bei den Einstellungen, weswegen das unter Word 2002 bei mir funktioniert und bei Dir nicht. Probier mal bitte diese Variante aus. Ich habe feste Werte eingesetzt zum Test. Der springende Punkt ist: Hier wird sich der Beginn des Ranges und dessen Ende explizit gemerkt und der Range vor dem Formatieren nochmal gesetzt.
Bitte probier mal und berichte:
Code:
Sub TextImport()

    Dim dlgtext As FileDialog
    Dim strText As String
    Dim rng As Word.Range
    Dim lngBeginn As Long
    Dim lngEnde As Long
   
    Dim fsize As Long
    Dim fentry As Single
   
    fsize = 9
    fentry = 2
   
    Set dlgtext = Application.FileDialog(msoFileDialogFilePicker)
        dlgtext.Title = "Auswahl der Textdatei"
        dlgtext.Filters.Add "Textdateien", "*.txt", 1
        dlgtext.ButtonName = "Import"
   
    With dlgtext
        If .Show = -1 Then
            strText = dlgtext.SelectedItems.Item(1)
'            frmText.Show
                       
            Set rng = Selection.Paragraphs(1).Range
            lngBeginn = rng.Start
            rng.InsertFile (strText)
            rng.SetRange Start:=lngBeginn, End:=rng.End
            With rng
                .Font.Size = fsize
                .ParagraphFormat.Alignment = wdAlignParagraphLeft
                .ParagraphFormat.LeftIndent = CentimetersToPoints(fentry)
                .Collapse wdCollapseEnd
            End With
        End If
    End With
    dlgtext.Filters.Clear
    Set dlgtext = Nothing
    Set rng = Nothing
   
End Sub

Und zur zweiten Frage: Ja, natürlich geht das. Wenn wir das Einfügen des Textes sauber hinkriegen, können wir den Text auch formatieren. Dazu müsste ich wissen, welche eindeutigen Merkmale diese Überschriften bzw. Unterpunkte haben.

Was ich auch noch nicht verstehe: Wenn es immer der gleiche Text ist, wieso formatierst Du ihn nicht im Ausgangsdokument anders? Du könntest etwa im Ausgangsdokument jeder dieser Zeilen eine spezielle Formatvorlage zuweisen. Diese Formatvorlage könnte im Zieldokument anders definiert sein.

Oder man müsste genau wissen, wie der Text lautet bzw. woran er eindeutig erkennbar ist.

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
theVoice
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. Apr 2009, 21:47
Rufname:


AW: Textfile in Word einfügen und anschliessend formatieren - AW: Textfile in Word einfügen und anschliessend formatieren

Nach oben
       Version: Office 2003

Hallo Lisa,

schön wieder von Dir zu hören!

Ich muss Dich leider enttäuschen, aber es funktioniert immer noch nicht! Sad

Die eindeutigen Merkmale sind der gleiche Wortlaut einer Überschrift. Z.B. gibt es eine Überschrift die lautet "Maximum Pressures:" oder "Minimum Pressures:".

Das Problem ist dass es Textfiles sind die ein kommerzielles Softwaretool generiert. Da habe ich auf den Source Code keinen Zugang! Ich kann lediglich diesen Text nehmen und im Word nachbearbeiten...

Schöne Grüss,
Alex
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2, 3  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 3
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Serienbriefe: Seriendruck - Bilder einfügen 14 AutoTimmi 15965 14. Apr 2014, 12:28
DonFlipso Seriendruck - Bilder einfügen
Keine neuen Beiträge Word Serienbriefe: im Adressblock z.H. einfügen 3 sanna1112 2326 01. Feb 2012, 12:58
charlybrown im Adressblock z.H. einfügen
Keine neuen Beiträge Word Serienbriefe: Querverweis-Felder formatieren 1 itmoves 1011 26. Apr 2010, 14:10
itmoves Querverweis-Felder formatieren
Keine neuen Beiträge Word Serienbriefe: Sereienbriefe Bedingungsfeld formatieren 9 UwSchl 2118 31. Jan 2010, 17:19
Gast Sereienbriefe Bedingungsfeld formatieren
Keine neuen Beiträge Word Serienbriefe: Feld mit Datum +2 Tage einfügen 2 Sinured 3185 29. Jan 2010, 11:26
Gast Feld mit Datum +2 Tage einfügen
Keine neuen Beiträge Word Serienbriefe: Dokumentenvariable formatieren 0 Gourmetkoch 691 31. Dez 2009, 11:47
Gourmetkoch Dokumentenvariable formatieren
Keine neuen Beiträge Word Serienbriefe: Bilder aus Ordner in Serienbrief einfügen 3 alioli1 2046 29. Nov 2009, 11:45
Gast Bilder aus Ordner in Serienbrief einfügen
Keine neuen Beiträge Word Serienbriefe: Adressen aus Office tabellen dokument in dokument einfügen 1 Anna-L. 1218 15. Nov 2009, 21:42
charlybrown Adressen aus Office tabellen dokument in dokument einfügen
Keine neuen Beiträge Word Serienbriefe: Einfügen versch. Adressen aus einer Datenqu. in ein Dokument 9 Gast 921 04. Nov 2009, 15:02
charlybrown Einfügen versch. Adressen aus einer Datenqu. in ein Dokument
Keine neuen Beiträge Word Serienbriefe: Bilder in Worddokumente automatisch einfügen 0 iam_RaGe 2851 24. März 2009, 14:07
iam_RaGe Bilder in Worddokumente automatisch einfügen
Keine neuen Beiträge Word Serienbriefe: Absender für alle Etiketten einfügen 1 Gast 6017 11. Feb 2009, 13:16
Maulende Myrte Absender für alle Etiketten einfügen
Keine neuen Beiträge Word Serienbriefe: Anrede einfügen 0 ArianeH 910 27. Aug 2008, 11:47
ArianeH Anrede einfügen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Access Tabellen