Norbert Schiller
2004-02-09 14:13:35 UTC
Hallo NG,
bin in Sachen VBA leider momentan noch etwas unbedarft. Evt. könnte mir
bitte einer von Euch etwas auf die Sprünge helfen.
Es geht darum, einen formatierten Text aus einer Tabellenzelle auszulesen,
diesen mit entsprechenden HTML-Tags zu versehen und dann diesen String für
die Weiterverarbeitung in einer Variablen abzulegen. Bei der Ermnittlung der
Formatierung wären nur die Tags relevant für Bold,Italic und Underlined.
(also <b> , <i> , <u>).
Habe im Web zwar nen Codeschnippsel für das gesamte Dokument gefunden.
Dieser arbeitet mit dem Find-Objekt. Nur leider funktioniert der erstens
nicht bei ner Tabellenzelle und zweitens ändert dieser mir
unerwünschterweise den aktuellen Text.
Momentan mach ich das so :
Sub FormatierterTextMitHTMLTagsVersehen()
Dim c As Cell, Flag As Boolean
Set c = Tables(1).Cell(1, 1)
Application.ScreenUpdating = False
With c.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = ""
.Format = True
.Font.Bold = True
Flag = .Execute
Do While Flag = True
.Parent.InsertBefore "<b>"
.Parent.InsertAfter "</b>"
c.Range.SetRange Start:=.Parent.End, End:=c.Range.End
Flag = .Execute
Loop
End With
Tja, und da hängt sich alles in einer Endlosschleife auf.
Hat jemand einen Tipp für mich, wo es bei mir hakt und evt. auch nen
Hinweis, wie ich formatierten Text auslesen kann ohne ihn dabei für den User
sichtbar zu verändern.
Danke schon mal für Eure Mühe.
--
Gruß, Norbert
[mailto:***@freenet.de]
bin in Sachen VBA leider momentan noch etwas unbedarft. Evt. könnte mir
bitte einer von Euch etwas auf die Sprünge helfen.
Es geht darum, einen formatierten Text aus einer Tabellenzelle auszulesen,
diesen mit entsprechenden HTML-Tags zu versehen und dann diesen String für
die Weiterverarbeitung in einer Variablen abzulegen. Bei der Ermnittlung der
Formatierung wären nur die Tags relevant für Bold,Italic und Underlined.
(also <b> , <i> , <u>).
Habe im Web zwar nen Codeschnippsel für das gesamte Dokument gefunden.
Dieser arbeitet mit dem Find-Objekt. Nur leider funktioniert der erstens
nicht bei ner Tabellenzelle und zweitens ändert dieser mir
unerwünschterweise den aktuellen Text.
Momentan mach ich das so :
Sub FormatierterTextMitHTMLTagsVersehen()
Dim c As Cell, Flag As Boolean
Set c = Tables(1).Cell(1, 1)
Application.ScreenUpdating = False
With c.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = ""
.Format = True
.Font.Bold = True
Flag = .Execute
Do While Flag = True
.Parent.InsertBefore "<b>"
.Parent.InsertAfter "</b>"
c.Range.SetRange Start:=.Parent.End, End:=c.Range.End
Flag = .Execute
Loop
End With
Tja, und da hängt sich alles in einer Endlosschleife auf.
Hat jemand einen Tipp für mich, wo es bei mir hakt und evt. auch nen
Hinweis, wie ich formatierten Text auslesen kann ohne ihn dabei für den User
sichtbar zu verändern.
Danke schon mal für Eure Mühe.
--
Gruß, Norbert
[mailto:***@freenet.de]