Hi,
aktuell bringt mich Word etwas zum Verzweifeln -.-
Ich möchte ganz einfach aus einem Word Dokument alle blauen Texte auslesen bzw. in die Zwischenablage kopieren.
Dies klappt u.g. Code auch ganz gut, außer es taucht eine Tabelle auf, dort liest er nur die jeweils ersten Zeilen der Zellen aus und schreibt diese auch zusammen in eine Zeile anstatt untereinander, zudem liest er auch nur die erste Spalte aus.
Hier mal der Code, vllt habt ihr ja eine Lösung.
Danke
Dim ZEILANZ As Single
Dim ZÄHLER As Single
Dim WORTZAHL As Long
Dim MYTANGE As Range
Function ZEILMARK(iStart As Single)
Dim rng As Range
Set rng = ActiveDocument.Range(0, 0)
Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=iStart
Set rng = Selection.Range
Selection.EndOf Unit:=wdLine, Extend:=wdExtend
rng.End = Selection.End
rng.Select
End Function
Sub Verweise_auslesen()
Dim Text As String
Dim textalt As String
Dim data As DataObject
Set data = New DataObject
ZÄHLER = 1
'Gesamte Zeilenanzahl festlegen
ZEILANZ = ActiveDocument.PageSetup.LinesPage * ActiveDocument.Range.Information(wdActiveEndPageNumber)
Do While ZÄHLER <= ZEILANZ
ZEILMARK ZÄHLER
'Auszulesende Farbe setzen
If Selection.Font.ColorIndex = wdDarkBlue Then
'Range festlegen
Set MYRANGE = Selection.Range
'Anzahl der aufeinanderfolgenden Wörter
WORTZAHL = MYRANGE.ComputeStatistics(Statistic:=wdStatisticWords)
'Wenn vorheriger Text dem aktuellen entspricht, dann überspringen
If Selection = textalt Then GoTo 1:
'alten Text um neuen ergänzen
Text = Text & Selection
'Text in die Zwischenablage kopieren
With data
.SetText Text
.PutInClipboard
End With
Else
End If
textalt = Selection
1:
'Zähler hochsetzen
ZÄHLER = ZÄHLER + 1
Loop
End Sub
|