Microsoft Excel

Herbers Excel/VBA-Archiv

TypeParagraph funktioniert nicht

Betrifft: TypeParagraph funktioniert nicht von: Frank
Geschrieben am: 23.10.2020 08:17:20

Guten Morgen Gemeinde,

in meinem Code kopiere ich via Excel Tabellen von einem Word Dokument in das andere. Nach dem Kopieren muss in Word ein Zeilenumbruch nach der eingefügten Tabelle eingefügt werden, das klappt nicht mehr.
Weiß hier jemand Rat?

Die doppelten '' kennzeichnen den Code der in der alten Version funktioniert hat.

'Aufgabe kopieren
Set wdQuelle = wdApp.Documents.Open(Filename:=Doc, ReadOnly:=True)
wdQuelle.Tables(Aufgabe).Range.Copy
''Documents.Open Filename:=Doc, ReadOnly:=True
''ActiveDocument.Tables(Auf).Select
''Selection.Copy

'Aufgabe einfügen
wdZiel.Activate
wdZiel.Range.PasteAndFormat (wdFormatOriginalFormatting)
wdZiel.?????
''Selection.PasteAndFormat (wdFormatOriginalFormatting)
''ActiveDocument.Selection.TypeParagraph

wdQuelle.Close Savechanges:=False

Betrifft: AW: TypeParagraph funktioniert nicht
von: Luschi
Geschrieben am: 23.10.2020 09:12:21

Hallo Frank,

es fehlt der Vba-Verweis zu 'Microsoft Word 16.0 Object Libtary'.

Gruß von Luschi
aus klein-Paris

Betrifft: AW: TypeParagraph funktioniert nicht
von: Frank
Geschrieben am: 23.10.2020 09:20:16

Hallo Luschi,

alle Library (Office, Excel, Word) sind gesetzt.

Betrifft: AW: TypeParagraph funktioniert nicht
von: ralf_b
Geschrieben am: 23.10.2020 09:14:25

vielleicht liegts ja an den Fragenzeichen wdZiel.?????

Betrifft: AW: TypeParagraph funktioniert nicht
von: Frank
Geschrieben am: 23.10.2020 09:17:42

Hallo Ralf,

nee, die sind der Platzhalter für das Problem und natürlich nicht im richtigen Code :-)

Betrifft: AW: TypeParagraph funktioniert nicht
von: Nepumuk
Geschrieben am: 23.10.2020 10:29:56

Hallo Frank,

teste mal:

wdApp.Selection.TypeParagraph

Gruß
Nepumuk

Betrifft: AW: TypeParagraph funktioniert nicht
von: Frank
Geschrieben am: 23.10.2020 10:45:28

Hallo Nepomuk,

das funktioniert, aber der Cursor steht noch in der Tabelle. Es wird nun vor der ersten Zeile eine Zeilenumbruch eingefügt.
Dar Focus muss zuerst ins Dokument …

Betrifft: AW: TypeParagraph funktioniert nicht
von: Nepumuk
Geschrieben am: 23.10.2020 10:48:57

Hallo Frank,

versuch mal:

AppActivate wdApp.Caption, True

Gruß
Nepumuk

Betrifft: AW: TypeParagraph funktioniert nicht
von: Frank
Geschrieben am: 23.10.2020 10:54:27

So?

wdZiel.Activate
wdZiel.Range.PasteAndFormat (wdFormatOriginalFormatting)
AppActivate wdApp.Caption, True
wdApp.Selection.TypeParagraph


Ungültiger Prozeduraufruf

Betrifft: AW: TypeParagraph funktioniert nicht
von: Nepumuk
Geschrieben am: 23.10.2020 10:57:52

Hallo Frank,

kann ich leider nicht nachvollziehen. War ja nur ein versuch.

Gruß
Nepumuk

Betrifft: AW: TypeParagraph funktioniert nicht
von: Frank
Geschrieben am: 23.10.2020 11:11:47

So gibt es keinen Fahler, aber der Zeilenumbruch wird in der ersten Tabellenzeile eingefügt, die Tabelle wird mit der nächsten wieder überschrieben …


wdZiel.Activate
wdZiel.Range.PasteAndFormat (wdFormatOriginalFormatting)
wdApp.Caption = True
wdApp.Selection.TypeParagraph

Betrifft: AW: TypeParagraph funktioniert nicht
von: Frank
Geschrieben am: 23.10.2020 09:40:23

Ich muss vielleicht noch erläutern dass das kopieren der Tabellen bisher von Word erledigt wurde, ich möchte aber alle automatisierten Abläufe an einem Ort haben (Excel), daher die Änderung.

Der gesamte Dateiaufruf klappt ja, ebenso das kopieren in die Zieldatei. Dort wird aber die vorhandenen Tabelle immer wieder überschrieben ...

Betrifft: AW: TypeParagraph funktioniert nicht
von: Frank
Geschrieben am: 23.10.2020 11:32:31

Problem gelöst:

            
Option Explicit

'Für Late-Binding
Const wdFormatOriginalFormatting As Long = 16

Sub WordStarten
…

'Aufgabe einfügen
            Call wdZiel.Range(Start:=wdZiel.Range.End - 1).PasteAndFormat( _
wdFormatOriginalFormatting)
            wdZiel.Range(Start:=wdZiel.Range.End - 1).Text = vbCrLf
…

End Sub

Danke an alle die sich Gedanken gemacht haben!

Einen schönen Tag!

Betrifft: AW: TypeParagraph funktioniert nicht
von: Luschi
Geschrieben am: 23.10.2020 16:18:19

Hallo Frank,

wären die Verweise zu Word-Office in Excel-Vba richtig gesetzt gewesen (also Early Binding statt nun Late Binding), wäre die Nennung: 'Const wdFormatOriginalFormatting As Long = 16' nicht erforderlich gewesen.

Gruß von Luschi
aus klein-Paris