【问题标题】:Filling in Adobe Form with Ms Access, field is dropping leading Zeros使用 Ms Access 填写 Adob​​e 表单,字段前导零
【发布时间】:2015-02-17 14:04:07
【问题描述】:

我们正在尝试使用 ms 访问和 Acrobat 对象填写 Adob​​e PDF 表单。我已经切到了相关的sn-ps。我们能够成功填写大多数字段,但具有前导零(如邮政编码)的字段(应该是字符串)除外。下面的代码显示了问题。

   '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"

Adobe 表格已填写,但邮政编码的前导 0 已删除。

【问题讨论】:

  • 你控制表单吗?如果字段类型是数字,那么您将看到此问题。有一个特定类型的“邮政编码”可用于此。
  • 我们不控制表单。然而,我们进一步调查发现,如果字段中有一个可以解释为数字的值,adobe 会假定下一个值也将是一个数字。如果值是“大卫”,adobe 接受邮政编码并保留零没有问题。
  • 我们可以动态改变字段的类型吗?
  • @akaphenom: 不需要改变字段的类型,反正都是文本字段。

标签: vba ms-access pdf adobe ms-access-2010


【解决方案1】:

确保保留前面的零的可靠方法是强制使用字符串。一个简单的方法是在字符串中添加一个空格字符,看起来像一个数字,然后它将被正确呈现。

如果使用表单提交回一些数据,可能会产生影响。

但如果您无法控制表单,那就是您手头的东西。

【讨论】:

  • 我们尝试了类似的方法 - 但表单通过类型异常。
  • 当你做这样的事情时,你必须保持没有格式的字段(这需要对表单进行一些控制......)。可能有某种偷偷摸摸的方法从字段中删除格式,通过注入相应设置的 FDF,它使用 /Before Javascript 键。
猜你喜欢
  • 2020-03-29
  • 1970-01-01
  • 2013-07-26
  • 2012-02-18
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多