Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Bug or feature?
I was wandering if this is a bug (so it will be fixed) or a feature (so I can
expect the same behavior in the following versions)... Excel uses in many cell formulas the regional settings list separator character to separate between parameters (example for GB the list separator is "," so an IF formula would look as: "=IF(bool, true, false)" but when you change the country to DE then the separator is ";" and you have to use the formula in the way: "=IF(bool; true; false)". Now this would not be a problem if Excel would not use the DEFAULT regional configuration so if any user customizes his regional settings to have a different separator than the default - Excel (tested with Excel 2003) currently ignores it - so for example: the user selected in GB the ";" as a separator - but Excel still thinks that the separator is ",". Is this a BUG or a feature? Does anyone know about this? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Bug or feature?
Leo,
I tried to duplicate your issue. By doing so I went to Control PanelRegional and Language Settings Changed from English to German. It did change the , to ; as you said. When I saved the application, closed, changed my settings back to English, the ; returned to , as it should. I could not get the program to ignore the ;. Have you ensured that your regional settings are set to where you want them? -- --Thomas [PBD] Working hard to make working easy. Answered your question? Click ''Yes'' below. "Leo Mazzi" wrote: I was wandering if this is a bug (so it will be fixed) or a feature (so I can expect the same behavior in the following versions)... Excel uses in many cell formulas the regional settings list separator character to separate between parameters (example for GB the list separator is "," so an IF formula would look as: "=IF(bool, true, false)" but when you change the country to DE then the separator is ";" and you have to use the formula in the way: "=IF(bool; true; false)". Now this would not be a problem if Excel would not use the DEFAULT regional configuration so if any user customizes his regional settings to have a different separator than the default - Excel (tested with Excel 2003) currently ignores it - so for example: the user selected in GB the ";" as a separator - but Excel still thinks that the separator is ",". Is this a BUG or a feature? Does anyone know about this? |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Bug or feature?
As I said, the problem is visible when you go and change the defult value -
so let's say you set it to GB - you have there the default delimiter ",". Now go and customize this by changing this value to ";". In that case Excel will ignore your change - so Excel is (at least for any PC I went on checking) ignoring my customization. This is a problem to me because I have to fill in programatically some formulas and I came upon some customers having this customized. If you only change the country then Excel reacts promptly and changes the delimiter also for all open onscreen documents. So if this is a feature or a BUG is an info I would really need to react propperly. Is there maybe a way of detecting which is the delimiter that Excel will use by asking Excel (so without the need of checking the regional settings)? Best regards, Leo "Thomas [PBD]" wrote: Leo, I tried to duplicate your issue. By doing so I went to Control PanelRegional and Language Settings Changed from English to German. It did change the , to ; as you said. When I saved the application, closed, changed my settings back to English, the ; returned to , as it should. I could not get the program to ignore the ;. Have you ensured that your regional settings are set to where you want them? -- --Thomas [PBD] Working hard to make working easy. Answered your question? Click ''Yes'' below. |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Bug or feature?
On Thu, 9 Oct 2008 07:51:02 -0700, Leo Mazzi
wrote: Is there maybe a way of detecting which is the delimiter that Excel will use by asking Excel (so without the need of checking the regional settings)? application.International(xllistseparator) --ron |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Bug or feature?
Leo,
I guess you have to check two places to ensure that the List Separator is enabled as a comma. First place, one that I am pretty sure you have checked: StartSettingsControl PanelRegional and Language OptionsCountryCustomizeNumberList Separator. The second place, inside of Excel itself: ToolsOptionsInternationalUse System Separators Checkbox. Thirdly, you can reference this page for additional information on setting the computer registry. http://geekswithblogs.net/robz/archi...delimiter.aspx -- --Thomas [PBD] Working hard to make working easy. Answered your question? Click ''Yes'' below. "Leo Mazzi" wrote: As I said, the problem is visible when you go and change the defult value - so let's say you set it to GB - you have there the default delimiter ",". Now go and customize this by changing this value to ";". In that case Excel will ignore your change - so Excel is (at least for any PC I went on checking) ignoring my customization. This is a problem to me because I have to fill in programatically some formulas and I came upon some customers having this customized. If you only change the country then Excel reacts promptly and changes the delimiter also for all open onscreen documents. So if this is a feature or a BUG is an info I would really need to react propperly. Is there maybe a way of detecting which is the delimiter that Excel will use by asking Excel (so without the need of checking the regional settings)? Best regards, Leo "Thomas [PBD]" wrote: Leo, I tried to duplicate your issue. By doing so I went to Control PanelRegional and Language Settings Changed from English to German. It did change the , to ; as you said. When I saved the application, closed, changed my settings back to English, the ; returned to , as it should. I could not get the program to ignore the ;. Have you ensured that your regional settings are set to where you want them? -- --Thomas [PBD] Working hard to make working easy. Answered your question? Click ''Yes'' below. |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Bug or feature?
thank you for the tip. I actually generate the output from C# code so my
solution would be: string listSeparator = (string) Application.get_International(0x00000005); I use the hardcoded value for xlListSeparator because seems that there is no representation of it in the Excel.Constants enum. "Ron Rosenfeld" wrote: On Thu, 9 Oct 2008 07:51:02 -0700, Leo Mazzi wrote: Is there maybe a way of detecting which is the delimiter that Excel will use by asking Excel (so without the need of checking the regional settings)? application.International(xllistseparator) --ron |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Bug or feature?
Thanks Thomas but I do the fill in programatically without the possibility to
go trough the GUI interface. Actually Ron's solution gave me a good tip how to do it in a fast way (one line of code). in addition OptionsCountryCustomizeNumberList Separator defines the decimal and the thousands separators not the list separator. best regards, Leo "Thomas [PBD]" wrote: Leo, I guess you have to check two places to ensure that the List Separator is enabled as a comma. First place, one that I am pretty sure you have checked: StartSettingsControl PanelRegional and Language OptionsCountryCustomizeNumberList Separator. The second place, inside of Excel itself: ToolsOptionsInternationalUse System Separators Checkbox. Thirdly, you can reference this page for additional information on setting the computer registry. http://geekswithblogs.net/robz/archi...delimiter.aspx -- --Thomas [PBD] Working hard to make working easy. Answered your question? Click ''Yes'' below. "Leo Mazzi" wrote: As I said, the problem is visible when you go and change the defult value - so let's say you set it to GB - you have there the default delimiter ",". Now go and customize this by changing this value to ";". In that case Excel will ignore your change - so Excel is (at least for any PC I went on checking) ignoring my customization. This is a problem to me because I have to fill in programatically some formulas and I came upon some customers having this customized. If you only change the country then Excel reacts promptly and changes the delimiter also for all open onscreen documents. So if this is a feature or a BUG is an info I would really need to react propperly. Is there maybe a way of detecting which is the delimiter that Excel will use by asking Excel (so without the need of checking the regional settings)? Best regards, Leo "Thomas [PBD]" wrote: Leo, I tried to duplicate your issue. By doing so I went to Control PanelRegional and Language Settings Changed from English to German. It did change the , to ; as you said. When I saved the application, closed, changed my settings back to English, the ; returned to , as it should. I could not get the program to ignore the ;. Have you ensured that your regional settings are set to where you want them? -- --Thomas [PBD] Working hard to make working easy. Answered your question? Click ''Yes'' below. |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
Bug or feature?
On Fri, 10 Oct 2008 02:15:01 -0700, Leo Mazzi
wrote: thank you for the tip. I actually generate the output from C# code so my solution would be: string listSeparator = (string) Application.get_International(0x00000005); I use the hardcoded value for xlListSeparator because seems that there is no representation of it in the Excel.Constants enum. Glad to help. Thanks for the feedback. --ron |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Exel feature | Excel Discussion (Misc queries) | |||
is this a bug or feature? | Excel Programming | |||
Yes / No Feature | Excel Worksheet Functions | |||
Worksheet feature help | Excel Programming | |||
RTD Bug? or perhaps a feature? | Excel Programming |