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

Setting Word formfield to format as currency automatically

文本表单域是动态创建和命名的,有些还被分配了一个值。我需要在创建后将某些表单字段的格式设置为货币。

我尝试在前端的表单域属性 window 中设置格式,效果很好。但是当代码生成表单字段时我需要这样做。我尝试了 .TextInput 和 .Format 属性的不同变体。表单域没有任何其他问题。

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

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

表单的目的是映射几条信息,然后让用户填写其余部分,或更新映射的字段。我使用 formfields 因为它是一种形式,它的结构需要保护。保护设置为 "Filling in Forms",但这不会更改格式的结果。此外,表单字段 added/removed 取决于返回的行数。每次映射时,表单域都是从头开始生成的,它们没有格式。

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

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

请注意,我是通过在更改表单字段属性时简单地录制宏来获得此信息的...