Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

VBA 用 PDFcreator 添加文件失败

布鲁斯  发表于:2015-01-12 21:07:11  
复制

请教个问题:我用VBA调用PDFcreator 来实现2份单独PDF的合并,但是利用PDFcreator 里面的类却不能准确将文件附加到PDFcreator 里面,有人知道怎么附加么?
代码如下:
Dim E2 As PDFCreator.clsPDFCreator
Set E2 = New PDFCreator.clsPDFCreator
E2.cStart '启动对象E2
E2.cVisible = True '是否可见
E2.cWindowState = 0
'添加文件,,,失败,失败!!!
'E2.cAddPrintjob ("C:\Users\201.pdf")

 

Top
zhaoyoulong 发表于:2015-01-13 14:27:54

网上得来的:

下面是一个追加pdf的函数, 合并也一样的
' Append PDF files to a single PDF file
' Alvin 2/10/2007
'Thanks for the idea of johnsonm
Public Function AppendPDFs(arrPdfFiles() As String, strFileName As String) As Boolean
Dim AcroApp As CAcroApp
Dim avCodeFile As CAcroAVDoc
Dim PDDoc1 As CAcroPDDoc
Dim PDDoc2 As CAcroPDDoc
Dim i As Long
Dim lngPage As Long
Dim lngPageNum1 As Long
Dim lngPageNum2 As Long
Dim lngPageNum3 As Long
lngPageNum1 = 0
lngPageNum2 = 0
lngPageNum3 = 0
'Start Acrobat in the background
Set AcroApp = CreateObject("AcroExch.App")
AcroApp.Hide
Set avCodeFile = CreateObject("AcroExch.AVDoc")
avCodeFile.Open strFileName, strFileName
Set PDDoc1 = avCodeFile.GetPDDoc
lngPageNum1 = PDDoc1.GetNumPages
lngPageNum3 = 0
For i = LBound(arrPdfFiles) To UBound(arrPdfFiles)
Set PDDoc1 = avCodeFile.GetPDDoc
Set PDDoc2 = CreateObject("AcroExch.PDDoc")
PDDoc2.Open arrPdfFiles(i)
lngPage = PDDoc1.GetNumPages - 1
If lngPage < 0 Then lngPage = 0
PDDoc1.InsertPages lngPage, PDDoc2, 0, PDDoc2.GetNumPages, 0
lngPageNum3 = lngPageNum3 + PDDoc2.GetNumPages
Next i
PDDoc1.Save 1, strFileName
lngPageNum2 = PDDoc1.GetNumPages
PDDoc1.Close
PDDoc2.Close
avCodeFile.Close 0
'Exit Acrobat
AcroApp.Exit


Set AcroApp = Nothing
Set avCodeFile = Nothing
Set PDDoc1 = Nothing
Set PDDoc2 = Nothing
If lngPageNum2 - lngPageNum1 = lngPageNum3 Then
    AppendPDFs = True
    Else
    AppendPDFs = False
End If
End Function



布鲁斯 发表于:2015-01-13 18:20:24
不行啊,运行到下面语句就出现   [ActiveX不能创建对象] 的错误提示
    Set AcroApp = CreateObject("AcroExch.App")




zhaoyoulong 发表于:2015-01-14 10:36:56
要引用Acrobat 10.0 Type Library

布鲁斯 发表于:2015-01-14 13:35:24
已经引用过了,但是还是没有用。仍然出现这个问题。

总记录:4篇  页次:1/1 9 1 :