Discussion:
Turkish Regional Settings
(too old to reply)
Roger
2006-05-31 21:34:01 UTC
Permalink
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.

Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells in the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection, Miscellaneous,
Line Format or Fill Format sections.

If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and work OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the formula is
copied from another existing ShapeSheet cell.

Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.

We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.

I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
Chris [Visio MVP]
2006-06-06 14:39:09 UTC
Permalink
Hi Roger,

Interesting and unfortunate! Two questions:

1. Are your turkish-setting customers needing to enter ShapeSheet formulas?
2. If you try to set a cell using code (ie: VBA) does the problem persist?
That may be a work-around until we get word from MS about bugs, fixes, etc.

Trying to get a handle on just where your solution is breaking.
--
Hope this helps,

Chris Roth
Visio MVP
http://www.wanderkind.com/visio

Go Team USA!
http://www.wanderkind.com/usabahn-eu
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells in the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection,
Miscellaneous,
Line Format or Fill Format sections.
If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and work OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the formula is
copied from another existing ShapeSheet cell.
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.
We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.
I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
Roger
2006-06-07 06:32:01 UTC
Permalink
Hi Chris
Many thanks for your reply.

Our customers do often need to change ShapeSheet formula. Also The problem
does affect VB code and was reported to me because my VB6 program currently
uses references such as "Connections.X1" to reference ShapeSheet cells and in
formulae created in other ShapeSheet cells. Obviously I can code out the
references to cells using the CellSRC method, but finding other ways of
adding "Connections.X1" etc in formulae in other cells is not so easy!

Steps required to reproduce this Visio 2003 bug:
1) Use the Windows Control Panel>Regional and Language Options to select
Turkish and click Apply
2) Start visio 2003 and a new drawing, draw a rectangle, add a connection
point.
3) Open the ShapeSheet for the rectangle, attempt to set the Geometry1.X1
cell formula to "=Connections.X1" Visio responds with a dialog: "Error in
formula."

Best regards
Roger
Post by Chris [Visio MVP]
Hi Roger,
1. Are your turkish-setting customers needing to enter ShapeSheet formulas?
2. If you try to set a cell using code (ie: VBA) does the problem persist?
That may be a work-around until we get word from MS about bugs, fixes, etc.
Trying to get a handle on just where your solution is breaking.
--
Hope this helps,
Chris Roth
Visio MVP
http://www.wanderkind.com/visio
Go Team USA!
http://www.wanderkind.com/usabahn-eu
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells in the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection, Miscellaneous,
Line Format or Fill Format sections.
If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and work OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the formula is
copied from another existing ShapeSheet cell.
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.
We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.
I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
Chris [Visio MVP]
2006-06-08 06:38:10 UTC
Permalink
Weird guess: is there any chance that in Turkish the period or equals-sign
are somehow different characters than the standards?

I know I had some trouble copying formulas from a Word document once. The
problem was that Word used the 'pretty' quotation marks -- the 66 99
quotes, so to speak, and Visio only recognizes the straight ones "".

- Chris
Post by Roger
Hi Chris
Many thanks for your reply.
Our customers do often need to change ShapeSheet formula. Also The problem
does affect VB code and was reported to me because my VB6 program currently
uses references such as "Connections.X1" to reference ShapeSheet cells and in
formulae created in other ShapeSheet cells. Obviously I can code out the
references to cells using the CellSRC method, but finding other ways of
adding "Connections.X1" etc in formulae in other cells is not so easy!
1) Use the Windows Control Panel>Regional and Language Options to select
Turkish and click Apply
2) Start visio 2003 and a new drawing, draw a rectangle, add a connection
point.
3) Open the ShapeSheet for the rectangle, attempt to set the Geometry1.X1
cell formula to "=Connections.X1" Visio responds with a dialog: "Error in
formula."
Best regards
Roger
Post by Chris [Visio MVP]
Hi Roger,
1. Are your turkish-setting customers needing to enter ShapeSheet formulas?
2. If you try to set a cell using code (ie: VBA) does the problem persist?
That may be a work-around until we get word from MS about bugs, fixes, etc.
Trying to get a handle on just where your solution is breaking.
--
Hope this helps,
Chris Roth
Visio MVP
http://www.wanderkind.com/visio
Go Team USA!
http://www.wanderkind.com/usabahn-eu
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells
in
the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection, Miscellaneous,
Line Format or Fill Format sections.
If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and
work
OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the
formula
is
copied from another existing ShapeSheet cell.
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two
Visio
2003
Service Packs.
We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.
I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
Paul Herber
2006-06-07 08:29:10 UTC
Permalink
On Wed, 31 May 2006 14:34:01 -0700, Roger
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Hi Roger,
I've just done some tests and found the same problem in some of my
code when Turkish locale is set.

A typical line (in Delphi) producing the problem is:

lineObj.CellsU[x].GlueTo(toObj.CellsU['Connections.' + 'X2' ]);

If someone can tell me the Turkish equivalent to 'Connections.' then
I'll try that with the Cells method rather than CellsU to see whether
that works.
Post by Roger
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.
Visio 2003 Standard no service packs
--
Regards, Paul Herber, Sandrila Ltd. http://www.pherber.com/
Visio Utilities http://www.visio-utilities.sandrila.co.uk/
wr
2006-06-07 11:08:27 UTC
Permalink
Hi Roger,

With the following code you overcome the issue.
I used visio 2003 englis pro sp2 with turkish language settings active

Sub GeoAdd()
Dim c As Visio.Shape
Set c = ActivePage.Shapes(1)
c.CellsSRC(visSectionFirstComponent, 2, 0).FormulaU =_
c.CellsSRC(visSectionConnectionPts, visRowConnectionPts + 1, visX)
End Sub

The code will add the value of Connection.X2 to the first LineTo cell in the
first Geometry section

René
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells in the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection,
Miscellaneous,
Line Format or Fill Format sections.
If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and work OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the formula is
copied from another existing ShapeSheet cell.
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.
We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.
I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
Roger
2006-06-08 07:55:01 UTC
Permalink
Hi Rene

Many thanks for your reply. I use the CellsSRC method a lot when referencing
cells by index values for section and row. This approach is fine for
inserting the current value of a cell like "Connections.X1" but do you also
have a method of including named cell references like "Connections.X1" within
the formula of another ShapeSheet cell so that it updates when the value of
Connections.X1 changes? For example,
"=LOC(PNT(Sheet.4!Connections.X1,Sheet.4!Connections.Y1))"

Best regards
Roger Billsdon
Post by Chris [Visio MVP]
Hi Roger,
With the following code you overcome the issue.
I used visio 2003 englis pro sp2 with turkish language settings active
Sub GeoAdd()
Dim c As Visio.Shape
Set c = ActivePage.Shapes(1)
c.CellsSRC(visSectionFirstComponent, 2, 0).FormulaU =_
c.CellsSRC(visSectionConnectionPts, visRowConnectionPts + 1, visX)
End Sub
The code will add the value of Connection.X2 to the first LineTo cell in the
first Geometry section
René
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells in the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection, Miscellaneous,
Line Format or Fill Format sections.
If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and work OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the formula is
copied from another existing ShapeSheet cell.
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.
We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.
I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
wr
2006-06-08 16:46:38 UTC
Permalink
Hi Roger,

That is strange that it stops updating after the initial update.
I think this is a bug that should be reported to microsoft.

There is a way out, based on the assumption that you change the connection
points now and then
If it is a regularily occurence I should opt for a cellchanged event macro

What needs to be done is to capture the value.
You can store the value into a custom property and then transfer it from the
custom property to the geometry cell e.g.

Sub geoadd()
Dim c As Visio.Shape
Dim s As String
Set c = ActivePage.Shapes(1)
s = c.CellsSRC(visSectionConnectionPts, visRowConnectionPts + 1,
visX).ResultStr_(Visio.visMillimeters)
c.CellsSRC(visSectionProp, visRowProp + 0, visCustPropsValue).FormulaU =
"""" & s & """"
c.CellsSRC(visSectionFirstComponent, 2, 0).FormulaU = """" & s & """"
End Sub

René
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells in the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection,
Miscellaneous,
Line Format or Fill Format sections.
If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and work OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the formula is
copied from another existing ShapeSheet cell.
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.
We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.
I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
Roger
2006-06-08 16:59:02 UTC
Permalink
Hello Rene
Many thanks, your idea of using a custom property as an intermediate cell is
a an interesting idea that I think would work.

Unfortunately Microsoft have taken no interest in the messages I've posted
in this forum, so I've pursued this with them via another route and their
initial feedback suggests that they might accept that this is a bug in Visio
2003.

Best regards
Roger Billsdon
Post by Chris [Visio MVP]
Hi Roger,
That is strange that it stops updating after the initial update.
I think this is a bug that should be reported to microsoft.
There is a way out, based on the assumption that you change the connection
points now and then
If it is a regularily occurence I should opt for a cellchanged event macro
What needs to be done is to capture the value.
You can store the value into a custom property and then transfer it from the
custom property to the geometry cell e.g.
Sub geoadd()
Dim c As Visio.Shape
Dim s As String
Set c = ActivePage.Shapes(1)
s = c.CellsSRC(visSectionConnectionPts, visRowConnectionPts + 1,
visX).ResultStr_(Visio.visMillimeters)
c.CellsSRC(visSectionProp, visRowProp + 0, visCustPropsValue).FormulaU =
"""" & s & """"
c.CellsSRC(visSectionFirstComponent, 2, 0).FormulaU = """" & s & """"
End Sub
René
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells in the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection, Miscellaneous,
Line Format or Fill Format sections.
If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and work OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the formula is
copied from another existing ShapeSheet cell.
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.
We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.
I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
Roger
2006-06-12 14:46:03 UTC
Permalink
Hello all
I've just been told that Microsoft have accepted that this is a bug in Visio
2003. Hopefully it will be fixed in Visio 2007 but, unfortunately at this
stage there are no assurances that it will be. In the meantime users will
either have to use another regional setting or an earlier version, eg Visio 5
or 2002.
Best regards
Roger Billsdon
Post by Roger
Hello Rene
Many thanks, your idea of using a custom property as an intermediate cell is
a an interesting idea that I think would work.
Unfortunately Microsoft have taken no interest in the messages I've posted
in this forum, so I've pursued this with them via another route and their
initial feedback suggests that they might accept that this is a bug in Visio
2003.
Best regards
Roger Billsdon
Post by Chris [Visio MVP]
Hi Roger,
That is strange that it stops updating after the initial update.
I think this is a bug that should be reported to microsoft.
There is a way out, based on the assumption that you change the connection
points now and then
If it is a regularily occurence I should opt for a cellchanged event macro
What needs to be done is to capture the value.
You can store the value into a custom property and then transfer it from the
custom property to the geometry cell e.g.
Sub geoadd()
Dim c As Visio.Shape
Dim s As String
Set c = ActivePage.Shapes(1)
s = c.CellsSRC(visSectionConnectionPts, visRowConnectionPts + 1,
visX).ResultStr_(Visio.visMillimeters)
c.CellsSRC(visSectionProp, visRowProp + 0, visCustPropsValue).FormulaU =
"""" & s & """"
c.CellsSRC(visSectionFirstComponent, 2, 0).FormulaU = """" & s & """"
End Sub
René
Post by Roger
Hello all
When Visio 2003 is used with Turkish Regional Settings selected in the
Windows Control Panel, certain cells cannot be referenced in other ShapeSheet
cells. For example, using Connections.X1 in the formula of another ShapeSheet
cell causes Visio to return "error in formula". The same applies if you apply
a name to the row containing the Connections.X1 cell.
Initally I thought the problem only affected cells in rows which can be
named. It does affect cells in rows of the Connections, Actions and
Hyperlinks sections, but it does not affect cells in the Controls, User
defined cells or custom properties sections. Nor does it affect cells in the
Geometry, Shape Transform, 1-D Endpoints, Scratch, Protection, Miscellaneous,
Line Format or Fill Format sections.
If a document is created with, for example, English (United Kingdom)
regional settings, ShapeSheet formula can include Connections.X1 and work OK
when the regional settings are changed to Turkish. But with Turkish regional
settings you can't enter Connections.X1 into a formula even if the formula is
copied from another existing ShapeSheet cell.
Neither Visio 5 or Visio 2002 are affected. Therefore, it seems to be a
problem that has been introduced with Visio 2003 or one of the two Visio 2003
Service Packs.
We have around 25 customers in Turkey who use our Visio solution and this
problem has wide ranging implications and is not one we can easily workaround
with modifications to our software. Also I'm sure others must have noticed
the problem.
I'd be grateful if anyone can help with information.
Best regards
Roger Billsdon
Loading...