From: Nikolaus Kern on
Hello all,

A VO 2.8 SP3 - MS Excel (2003 and 2007) is working very well.

I have seen now in different installations that the languange settings
are difficult (german or english).

Which settings are used to configure Excel to use ony english commands ?
(e.g. for formula and formating Cells)

Thanks in advance

Niko
From: D.J.W. van Kooten on
On Wed, 05 May 2010 09:27:45 +0200, Nikolaus Kern
<parzival1969(a)gmx.at> wrote:

Hello Nicho,
>
>The translation of the functions worked well. Now I discovered that
>sending the english formula (e.g. SUM() ) to a german environment showed
>up well there but with SUMME() it did not. No problem I am sending
>english SUM() now.
>
>Do you have ideas how to overcome this situation?

Indeed it does, I was forgotten I changed my function accordingly. I
did use Office 2007 until I got a new PC and this was the right moment
to throw Office 2007 in the garbage bin and re-install 2003. Not at
all an ideal package but way faster and easier to use than 2007. Your
problem also illustrates the way MS develops software. Install a new
version and guaranteed all kind of stuff does not work anymore,
without a proper setting to keep it compatible.

But this is the solution to your problem, the required variables you
get as follows:

SELF:nExcLang:=SELF:oApplication:International[1] // Get Excel's
language
SELF:nExcelVersion:=Val(oApplication:Version) // Get Excel version


FUNCTION ExcFnc(nLanguagecode AS FLOAT,cDutch AS STRING,nExcelVersion
AS DWORD) AS STRING


LOCAL cFormat AS STRING
LOCAL cDecSep, cThSep AS STRING
LOCAL nDecimals AS DWORD

cDecSep := CHR(SetDecimalSep())
cThSep := CHR(SetThousandSep())
// nDecimals - number of Decimals
DO CASE
CASE cDutch="SOM"
IF nExcelVersion>10
RETURN "=SUM(" // 21-10-2004:
Automation in Excel XP takes English version in Dutch Excel after
all!?!
ELSE
DO CASE
CASE nLanguagecode=1 //
English
RETURN "=SUM("
CASE nLanguagecode=31 //
Dutch
RETURN "=SOM("
CASE nLanguagecode=33 //
French
RETURN "=SOMME("
ENDCASE
ENDIF
CASE cDutch="BEDRAG"
cFormat:=ReturnVar("CEXCELBEDRAG")
nDecimals:=2
// cFormat := '�
#'+cThSep+'##0'+cDecSep+Replicate('0', nDecimals) // alternative
option
RETURN cFormat // Change to user setting
instead of fixed '#.##0,00' format 13-3-2008 ENDCASE
RETURN cDutch
From: Marc Verkade [Marti] on
Crazy stuff!



"D.J.W. van Kooten" <public(a)ic2remove.this.com> schreef in bericht
news:gasfu515k31uom8n6ugdegkqakar2tp1tm(a)4ax.com...
> On Wed, 05 May 2010 09:27:45 +0200, Nikolaus Kern
> <parzival1969(a)gmx.at> wrote:
>
> Hello Nicho,
>>
>>The translation of the functions worked well. Now I discovered that
>>sending the english formula (e.g. SUM() ) to a german environment showed
>>up well there but with SUMME() it did not. No problem I am sending
>>english SUM() now.
>>
>>Do you have ideas how to overcome this situation?
>
> Indeed it does, I was forgotten I changed my function accordingly. I
> did use Office 2007 until I got a new PC and this was the right moment
> to throw Office 2007 in the garbage bin and re-install 2003. Not at
> all an ideal package but way faster and easier to use than 2007. Your
> problem also illustrates the way MS develops software. Install a new
> version and guaranteed all kind of stuff does not work anymore,
> without a proper setting to keep it compatible.
>
> But this is the solution to your problem, the required variables you
> get as follows:
>
> SELF:nExcLang:=SELF:oApplication:International[1] // Get Excel's
> language
> SELF:nExcelVersion:=Val(oApplication:Version) // Get Excel version
>
>
> FUNCTION ExcFnc(nLanguagecode AS FLOAT,cDutch AS STRING,nExcelVersion
> AS DWORD) AS STRING
>
>
> LOCAL cFormat AS STRING
> LOCAL cDecSep, cThSep AS STRING
> LOCAL nDecimals AS DWORD
>
> cDecSep := CHR(SetDecimalSep())
> cThSep := CHR(SetThousandSep())
> // nDecimals - number of Decimals
> DO CASE
> CASE cDutch="SOM"
> IF nExcelVersion>10
> RETURN "=SUM(" // 21-10-2004:
> Automation in Excel XP takes English version in Dutch Excel after
> all!?!
> ELSE
> DO CASE
> CASE nLanguagecode=1 //
> English
> RETURN "=SUM("
> CASE nLanguagecode=31 //
> Dutch
> RETURN "=SOM("
> CASE nLanguagecode=33 //
> French
> RETURN "=SOMME("
> ENDCASE
> ENDIF
> CASE cDutch="BEDRAG"
> cFormat:=ReturnVar("CEXCELBEDRAG")
> nDecimals:=2
> // cFormat := '€
> #'+cThSep+'##0'+cDecSep+Replicate('0', nDecimals) // alternative
> option
> RETURN cFormat // Change to user setting
> instead of fixed '#.##0,00' format 13-3-2008 ENDCASE
> RETURN cDutch