设置Word表单域以自动将格式设置为货币

时间:2019-04-08 19:24:43

标签: vba ms-word form-fields

文本表单域是动态创建,命名和分配的,并为其分配值。创建某些表单字段的格式后,我需要将其设置为货币。

我尝试在前端的格式字段属性窗口中设置格式,这是可行的。但是我需要在代码生成表单字段时执行此操作。我尝试了.TextInput和.Format属性的不同变体。表单域没有其他问题。

ActiveDocument.FormFields("name").TextInput.Format="$#,##0"

应将表单域设置为接受任何输入并将其格式化为货币。看起来相关的FormField的属性似乎大多是只读的。 Google没有提供任何有用的帮助。

该表单的目的是映射几条信息,然后让用户填写其余信息,或更新映射的字段。我使用formfields是因为它是一种表单,并且其结构需要受到保护。保护设置为“填写表格”,但这不会更改格式的结果。此外,将根据返回多少行来添加/删除表单字段。表单字段是在每次映射时从头开始生成的,它们没有格式。

1 个答案:

答案 0 :(得分:1)

设置数字格式需要使用TextInput.EditType,例如:

ActiveDocument.FormFields("name").TextInput.EditType Type:=wdNumberText, Format:="Fr. 0.00"

请注意,我是通过在更改表单字段属性时简单地记录一个宏来实现的...