Vba 使用Ms Access填写Adobe表单时,字段将删除前导零
我们正在尝试使用ms access和Acrobat对象填写Adobe PDF表单。我已切入相关片段。我们能够成功地填写大多数字段,但应为字符串的字段除外,这些字段的前导零类似于邮政编码。下面的代码显示了问题Vba 使用Ms Access填写Adobe表单时,字段将删除前导零,vba,ms-access,pdf,adobe,ms-access-2010,Vba,Ms Access,Pdf,Adobe,Ms Access 2010,我们正在尝试使用ms access和Acrobat对象填写Adobe PDF表单。我已切入相关片段。我们能够成功地填写大多数字段,但应为字符串的字段除外,这些字段的前导零类似于邮政编码。下面的代码显示了问题 'Initialize Acrobat by creating the App object. Set objAcroApp = CreateObject("AcroExch.App") 'Create the AVDoc object. Set objAcro
'Initialize Acrobat by creating the App object.
Set objAcroApp = CreateObject("AcroExch.App")
'Create the AVDoc object.
Set objAcroAVDoc = CreateObject("AcroExch.AVDoc")
'Set the PDDoc object.
Set objAcroPDDoc = objAcroAVDoc.GetPDDoc
'Set the JS Object - Java Script Object.
Set objJSO = objAcroPDDoc.GetJSObject
objJSO.getfield("Zip Code").Value = "02110"
'Create the AVDoc object.
Set objAcroAVDoc = CreateObject("AcroExch.AVDoc")
'Set the PDDoc object.
Set objAcroPDDoc = objAcroAVDoc.GetPDDoc
'Set the JS Object - Java Script Object.
Set objJSO = objAcroPDDoc.GetJSObject
objJSO.getfield("Zip Code").Value = "02110"
已填写Adobe表单,但删除了邮政编码中的前导0 确保保留前面的零的可靠方法是强制字符串。一种简单的方法是在字符串中添加一个空格字符,看起来像一个数字,然后它将被正确地呈现 如果表单用于提交一些数据,则可能会产生影响
但是如果你不能控制表单,那就是你手头的东西。你控制表单吗?如果字段类型为数字,则会出现此问题。有一个特定类型的邮政编码可用于此。我们不控制表单。然而,我们进一步调查发现,如果字段中有一个值可以解释为一个数字,adobe会假定下一个值也将是一个数字。如果值为say'David',adobe在接受邮政编码和保留零方面没有问题。我们可以动态更改字段的类型吗?@akaphenom:没有必要更改字段的类型,因为它无论如何都是文本字段。我们尝试了类似的方法-但表单通过类型异常进行更改。当您执行类似操作时,您必须保持字段没有格式,这将需要对表单进行一些控制…。通过注入相应的设置FDF(使用/Before Javascript键),可能会有某种偷偷摸摸的方法从字段中删除格式。