Setting User Parameter with VBA converting errors

Setting User Parameter with VBA converting errors

jcox9Z7J8
Contributor Contributor
467 Views
2 Replies
Message 1 of 3

Setting User Parameter with VBA converting errors

jcox9Z7J8
Contributor
Contributor

I am changing User Parameters in a macro and the there are conversion errors that I can't figure out! please help.

Here is my code.

 

Sub setR()

Dim UserParams As UserParameters
Set UserParams = ThisApplication.ActiveDocument.ComponentDefinition.Parameters.UserParameters
For Each Item In UserParams
Item.Value = 1

Next

End Sub

 

When the program is run the value set for each User Parameter is 0.39370079 in.  It doesn't mater if the document parameters are set to "inch" or "mm".  I'm pretty sure that it is a rounding error because .3937 * 2.54 = 1 which is a metric to inch conversion.

0 Likes
Accepted solutions (1)
468 Views
2 Replies
Replies (2)
Message 2 of 3

TomaszDąbrowski
Enthusiast
Enthusiast
Accepted solution

Try if this works:

Sub setR()

Dim UserParams As UserParameters
Set UserParams = ThisApplication.ActiveDocument.ComponentDefinition.Parameters.UserParameters
Dim Item As Parameter
For Each Item In UserParams

'choose line with desired unit
Item.Units = "cm"
'Item.Units = "mm"
'Item.Units = "in"

Item.Expression = 1
Next

End Sub
Message 3 of 3

jcox9Z7J8
Contributor
Contributor

Thanks!  

Item.Expression instead of Item.Value did the trick.

0 Likes