On 03/10/10 21:08, Bernard Marcelly wrote:
fp = ThisComponent.createInstance("com.sun.star.sheet.FormulaParser")
fp.FormulaConvention = com.sun.star.sheet.AddressConvention.XL_OOX
fp.ReferencePosition = c.CellAddress
ftseq = fp.parseFormula(c.Formula)
You can get the token sequence directly from the cell, without using the
parser or the formula text:
ftseq = c.Tokens
ftseq is a nice array of FormulaToken, but how can I interpret a formula
token OpCode ?
In the fp object, property OpCodeMap is an empty array, and the
documented property ExternalLinks does not exist.
Use FormulaOpCodeMapper to map between function names and op codes. To
get the code for the DDE function:
dim aNames(0 to 0) as String
aNames(0) = "DDE"
oMapper = CreateUnoService("com.sun.star.sheet.FormulaOpCodeMapper")
aMappings = oMapper.getMappings(aNames(),_
com.sun.star.sheet.FormulaLanguage.ENGLISH)
print aMappings(0).OpCode
Several IDL pages are unpublished, is this service usable ?
This stuff is used by the xlsx import, so it should work. Unpublished
means it might change in the future, but there are no API changes
planned at the moment.
Niklas
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]