Safely automating any language version of Excel
Well, I found a partial solution to my problem as well. If I use:
CalculatedFields.Add("MyCalcField", strMyFormula, True)
then my code works in the English and Swedish versions of Excel (2002,2003).
The 'new' signature for CalculatedFields.Add is:
CalculatedFields.Add(Name, Formula, UseStandardFormula)
where, "UseStandardFormula" is optional and False by default. Setting it to
True seems to get Excel to do the appropriate translation of my formula.
Unfortunately, in Excel '97, the signature is:
CalculatedFields.Add(Name, Formula)
So, my new code breaks in Excel '97. I haven't tested Excel 2000. It seems
then I have to decide between not worrying about language and only support
Excel 2002 up, or support all versions of Excel, but the also aware of the
language of Excel that I'm currently automating and formatting my formulas
accordingly.
|