vba - 将我的 MS Access 报告数据导出到 Adobe Acrobat DC pdf 时出现问题
问题描述
有人可以帮我编写代码吗?我的 jso.getfield 行出现错误“需要对象”。我已经尝试研究这个问题,但没有运气,我希望有人可以帮助我解决这个问题。我还有其他几个要导出为 PDF 的字段。这只是我的 Access DB 中的一个字段,我想将值放入 pdf 字段这是我正在使用的。
Private Sub cmd_PrinttoPDF_Click()
Dim RDate, TmpFileNm, FilePth, stDocName, NewFileNm, NewFilePth, NewFilPthNm As String
Dim Left_VOUCHER
Dim FileNm
Dim gApp As Acrobat.AcroApp
Dim avDoc
Dim pdDoc
Dim jso
DoCmd.Hourglass True
DoCmd.SetWarnings False
Left_VOUCHER = Left(Me![VOUCHER], 2)
Select Case Left_VOUCHER
Case "C0"
stDocName = "1131"
Case "CC"
stDocName = "1131"
Case "JD"
stDocName = "1131"
Case "J0"
stDocName = "1131"
Case "MP"
stDocName = "1131"
'Case Else
'stDocName = "SF1098"
End Select
TmpFileNm = "TEMPLET_DD1131.pdf"
RDate = (Format(Date, "yyyy_mm_dd"))
FilePth = "X:\Access_DataBases\Exported_Reports\Checks\"
FileNm = FilePth & TmpFileNm
NewFileNm = stDocName & "_" & Me![VOUCHER] & "_" & RDate & ".pdf"
NewFilePth = "X:\Financial_Services\Checks\Vouchers\"
NewFilPthNm = NewFilePth & NewFileNm
Set gApp = CreateObject("AcroExch.app")
Set avDoc = CreateObject("AcroExch.AVDoc")
If avDoc.Open(FileNm, "") Then
Set pdDoc = avDoc.GetPDDoc()
Set jso = pdDoc.GetJSObject
jso.getField("TEMPLET_DD1131[0].Page1[0].DISBURSING_OFFICE_COLLECT[0]").Value = "VOUCHER"
pdDoc.Save PDSaveIncremental, NewFilPthNm
pdDoc.Close
End If
avDoc.Close (True)
Set gApp = Nothing
Set avDoc = Nothing
Set pdDoc = Nothing
Set jso = Nothing
DoCmd.Hourglass False
DoCmd.SetWarnings True
End Sub
对此的任何帮助将不胜感激。我对 vba 仍然很陌生,并且对尝试将数据导出为 pdf 确实很陌生。错误是运行时错误“424”:需要对象。当我调试它时..它突出显示该行
jso.getField("TEMPLET_DD1131[0].Page1[0].DISBURSING_OFFICE_COLLECT[0]").Value = "VOUCHER"
更新:我打开了监视窗口,这就是结果显示的内容
Watch : : jso.getField("TEMPLET_DD1131[0].Page1[0].DISBURSING_OFFICE_COLLECT[0]").Value = "VOUCHER" : <Object required> : Variant/Empty : Form_VOUCHER.cmd_PrinttoPDF_Click