Consider this small program, looks innocent... Find something that
matches an attribute (no replacing).
Sub SearchTest(oProps())
Dim oFind
Dim oFound
Dim oDoc
oDoc = ThisComponent
oFind = oDoc.createSearchDescriptor()
With oFind
.SearchString = ".*"
.SearchRegularExpression = True
.SearchAll = True
End With
oFind.setSearchAttributes(oProps)
oFound = oDoc.FindAll(oFind)
print "" & oFound.count & " for " & oProps(0).Name
End Sub
Now, call it as follows:
Sub FindCharStyle
Dim SearchProps(0) as new com.sun.star.beans.PropertyValue
'Matches everything, and erases everything that it finds.
searchProps(0).name = "CharStyleName"
searchProps(0).value = "_OOoComputerLiteral"
searchProps(0).value = "xyzzy"
'??SearchTest(searchProps)
'This finds things as expected
searchProps(0).name = "CharWeight"
searchProps(0).value = 100
SearchTest(searchProps)
'Fails
searchProps(0).Name = "CharFontName"
searchProps(0).Value = "Times New Roman"
searchProps(0).Value = "Albany"
SearchTest(searchProps)
'Finds stuff, but erases everything that it finds.
searchProps(0).Name = "CharFontNameAsian"
searchProps(0).Value = "HG Mincho Light J"
'??SearchTest(searchProps)
'Works
searchProps(0).Name = "CharFontPitch"
searchProps(0).Value = 2
SearchTest(searchProps)
'Works
searchProps(0).Name = "CharNoHyphenation"
searchProps(0).Value = True
SearchTest(searchProps)
End Sub
Searching on CharStyle name always matches, and then it erases all the
text that it finds (well, it replaces it with an empty string). The same
for CharFontNameAsian.
Searching on CharFontName simply never matches.
--
Andrew Pitonyak
My Macro Document: http://www.pitonyak.org/AndrewMacro.odt
My Book: http://www.hentzenwerke.com/catalog/oome.htm
Info: http://www.pitonyak.org/oo.php
See Also: http://documentation.openoffice.org/HOW_TO/index.html
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
For additional commands, e-mail: dev-h...@api.openoffice.org