楼主 kevinchengcw |
Q: 如何用vba代码自定义获取pdf文件页数的函数? A: 自定义函数代码如下:
|
2楼 kevinchengcw |
一年半啦,简化一下吧
|
3楼 ljh29206 |
版主 问下 打印 的命令 如何呢 如果我想打印 按页数的 数量 如果 大于 6 则 前2页 打印2次 如果 小于 6 则 前2页 打印1次. 其他全部1次. 该这么操作? |
4楼 ljh29206 |
Sub df() Dim FileName As String Dim Match, Str$, P% FileName = Application.GetOpenFilename("PDF文件(*.PDF),*.PDF") With CreateObject("scripting.filesystemobject").opentextfile(FileName) Str = .readall .Close End With P = 0 With CreateObject("vbscript.regexp") .Global = True .MultiLine = True .Pattern = "\/Count ([\d]+)" If .test(Str) Then For Each Match In .Execute(Str) If Val(Match.submatches(0)) > P Then P = Val(Match.submatches(0)) Next Match End If End With MsgBox (P) End Sub 读不出页数,麻烦 K版帮忙看下. |
5楼 kevinchengcw |
方便的话,把读不出页数的文件下传看下 |
6楼 ljh29206 |
很奇怪 我就那个文件不行 ! 再试了其他的几个都可以! 由于 30M 有多 上传不了! 另 K版 问下 打印 的命令 怎么写 如果我想打印 按页数的 数量 如果 大于 6 则 前2页 打印2次 如果 小于 6 则 前2页 打印1次. 其他全部1次. 该这么操作? |
7楼 kevinchengcw |
vba不通过控件似乎没办法控件pdf的打印,这个要看你安装的哪个pdf阅读软件,及他是否支持其他程序调用了 |
8楼 ljh29206 |
我这边 使用的 是 adobe reader 9 的 软件打开的 请问 可否 做到? 另外 K版 能推介一个 阅读软件 能够做得到? |
9楼 kevinchengcw |
这方面我也没尝试过,你可以先搜索一下,看有没有现成的实例供参考 |
10楼 ljh29206 |
Sub AcrobatPrint() Dim FileName As String Dim Match, Str$, P% FileName = Application.GetOpenFilename("PDF文件(*.PDF),*.PDF") With CreateObject("scripting.filesystemobject").opentextfile(FileName) Str = .readall .Close End With Dim PrintMode As String PrintMode = InputBox("all or first") Dim AcroExchApp As Acrobat.CAcroApp Dim AcroExchAVDoc As Acrobat.CAcroAVDoc Dim AcroExchPDDoc As Acrobat.CAcroPDDoc Dim num As Integer Set AcroExchApp = CreateObject("AcroExch.App") Set AcroExchAVDoc = CreateObject("AcroExchAV.Doc") AcroExchAVDoc.Open FileName, "" Set AcroExchPDDoc = AcroExchAVDoc.GetPDDoc num = AcroExchPDDoc.GetNumPages - 1 If PrintMode = "all" Then 'Print all pages Call AcroExchAVDoc.PrintPages(0, num, 2, 1, 1) Else 'Print first page Call AcroExchAVDoc.PrintPages(0, 0, 2, 1, 1) End If End Sub 我在 网上找到 以上代码, 打印第一页 或者全部. 但 Set AcroExchApp = CreateObject("AcroExch.App") Set AcroExchAVDoc = CreateObject("AcroExchAV.Doc") 提示 ACtive x 部件不能创建对象 我引用了 关于 adobe reader 9.0 的全部控件 都 不行. 可否帮忙看下 有没的搞 , K版 |
11楼 kevinchengcw |
估计是对应的dll或ocx文件没有注册,不过先要知道对应的是哪些文件 |