Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Excel VBA -使用VBA裁剪PDF页面

Excel VBA -使用VBA裁剪PDF页面
EN

Stack Overflow用户
提问于 2018-06-19 23:12:34
回答 1查看 1.6K关注 0票数 2

我编写了一段代码,对pdf页面进行裁剪,然后使用AdobeAcrobat10.0类型库为Excel重新插入此页面到全局pdf中。这段代码在我的电脑上运行得很好,但在我的一位同事身上却长得太多了。我认为它可能来自分辨率(1440x900对我的,1600x900对我的同事),但我只是不知道分辨率可能在代码中插入。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim acroRect, jso, page As Object
Dim pdf1 As Acrobat.CAcroPDDoc
Dim nameFile, s, exportCroppedPDF As String

Set acroRect = CreateObject("AcroExch.Rect")
Set pdf1 = CreateObject("AcroExch.PDDoc")

nameFile = "namefile.pdf"

If pdf1.Open(nameFile) Then
    Set jso = pdf1.GetJSObject
    Set page = pdf1.AcquirePage(pdf1.GetNumPages() - 1)

    'These values were found from some tests I did, there is no logic behind them
    acroRect.bottom = 22
    acroRect.Left = 35      
    acroRect.Right = 785    
    acroRect.Top = 589     

    page.CropPage (acroRect)

    exportCroppedPDF = "pathAndNamefile.pdf"

    s = jso.extractPages(0, pdf1.GetNumPages() - 1, exportCroppedPDF)

Else
    Debug.Print ("Can't open the file!")
End If

pdf1.Close
Set pdf1 = Nothing
Set acroRect = Nothing
Set jso = Nothing
Set page = Nothing

Debug.Print ("Crop successful")

我对这个库一点也不累加(代码来自我在互联网上找到的代码),所以我可能写错了一些行(但它一开始就起作用了)。非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2018-06-19 23:30:09

根据文档,CropPages有4个参数,其中acroRect应该是最后一个参数。

returnValue = Object.CropPages( nStartPage,nEndPage,nEvenOrOddPagesOnly,acroRect ) 参数:

  • nStartPage:裁剪的第一页。PDDoc对象的第一个页面是页0。
  • nEndPage:裁剪的最后一页。
  • nEvenOrOddPagesOnly值,指示将裁剪范围中的哪些页。必须是下列之一:
    • 0意味着裁剪范围内的所有页面
    • 1意味着仅裁剪范围内的奇数页。
    • 2意味着仅在范围内裁剪甚至页面。

  • acroRect指定在用户空间中指定的裁剪矩形的AcroExch.Rect
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50942314

复制
相关文章
VBA Excel 文件发布成PDF文件
批量把某个文件夹里的Excel文件发布成PDF文件,注意需前提设置好打印区域,打印缩放,当然这些你们也可以用代码实现!
办公魔盒
2019/07/22
1.3K0
VBA Excel 文件发布成PDF文件
VBA: Excel文件批量转化为pdf
文章背景:测试仪器的数据有些会以Excel文件的形式保存,有时需要将测试数据转化为pdf格式。通过虚拟打印机(Adobe PDF)可以将excel文件输出为pdf文件。然而,当文件比较多时,这种操作比较费时。现在以批量转化Excel文件(.xlsx格式)为例,采用VBA编程,进行任务的实现。
Exploring
2022/09/20
3.3K0
VBA:  Excel文件批量转化为pdf
VBA专题10-0:使用VBA操控Excel界面
在图1中,我标识了组成Excel界面各元素的名称。可以使用VBA代码来操作这些界面元素,这就是本专题系列文章要讲解的内容,包括使用VBA代码来修改工作表单元格的颜色与字体、控制工作表行列标题、公式栏、状态栏、设置工作表标签、自定义功能区以及上下文快捷菜单,等等。
fanjy
2020/06/24
1.3K0
excel vba 解密
大家好,又见面了,我是你们的朋友全栈君。Private Sub VBAPassword() ‘你要解保护的Excel文件路径 Filename = Application.GetOpenFilename(“Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt”, , “VBA激活成功教程”) If Dir(Filename) = “” Then MsgBox “没找到相关文件,清重新设置。” Exit Sub Else FileCopy Filename, Filename & “.bak” ‘备份文件。 End If Dim GetData As String * 5 Open Filename For Binary As #1 Dim CMGs As Long Dim DPBo As Long For i = 1 To LOF(1) Get #1, i, GetData If GetData = “CMG=””” Then CMGs = i If GetData = “[Host” Then DPBo = i – 2: Exit For Next If CMGs = 0 Then MsgBox “请先对VBA编码设置一个保护密码…”, 32, “提示” Exit Sub End If
全栈程序员站长
2022/09/15
9310
Excel VBA编程
在Excel中,数据只有文本,数值,日期值,逻辑值和错误值五种类型。但是在VBA中,数据类型跟Excel不完全相同。根据数据的特点,VBA将数据分为布尔型(boolean),字节型(byte),整数型(integer),单精度浮点型(single),双精度浮点型(double),货币型(currency),小数型(decimal),字符串型(string),日期型(date),对象型等等
全栈程序员站长
2022/08/11
45.8K0
Excel VBA编程
Excel VBA事件
在Excel VBA里提供了接口,在发生这些事件之前或者之后,让使用者可以设置一段运行的程序。
xyj
2020/07/28
1.5K0
Excel VBA事件
Excel VBA学习
学习一下,记录一下,资料来自于网络 网络代码收集一: Sub test() Dim arr, brr, i&, r&, k Set d = CreateObject("scripting.dictionary") Set d1 = CreateObject("scripting.dictionary") With Sheet1 r = .Cells(Rows.Count, 1).End(3).Row For i = 2 To r
哆哆Excel
2022/10/31
2K0
使用VBA操作Excel公式栏
在Excel公式栏中,我们可以看到当前单元格中的内容,或者当前单元格中使用的公式,如下图1所示。
fanjy
2022/06/04
1.5K0
使用VBA操作Excel公式栏
EXCEL中简单使用VBA上
在Excel内部打开VBA 以及在运行之前需要开启一下家开发人员的安全性 打开的页面可能是这样,不要慌 可以在这里选择打开窗口 如果还是不一样,可以这这里打开资源的管理器 F4按键会按照当前你打开的窗口,智能的打开你目前所在窗口的属性 我们按照惯例先看一下项目的管理栏目 首先好的一点就是可以看出来项目内部文件之间的层级关系 我们这里可以点击右键探索一些ssuo 在右键的菜单内可以打开菜单 我们这里看一下类 这个图截取的更加的清晰 也可以把当前的代码打印出来 打印的效果图 首先我们要使用的画布,所有的操作
云深无际
2021/03/12
1.8K0
EXCEL中简单使用VBA上
VBA: Excel文件批量转化为pdf (2)
文章背景:测试仪器的数据有些会以Excel文件的形式保存,有时需要将测试数据转化为pdf格式。上篇文章(见文末的延伸阅读)通过VBA代码,采用ExportAsFixedFormat函数将excel文件转化为pdf文件,对于部分excel文件的转化效果不太好,有些谱图显示不完整,如下图所示。
Exploring
2022/09/20
2.6K0
VBA:  Excel文件批量转化为pdf (2)
使用Excel的VBA下载文件
今天发现了个用EXCEL下载文件的实例,看起来很不错,收藏一下。 附件如下:xls 这是代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Sub downloads()     Dim i As Integer     Dim Path As String     Dim str As String     Application
用户1272546
2018/06/04
3K0
Excel VBA事件——Workbook
这两个事件在Office2007版本之前使用应该还是比较多的,那时候还没有Ribbon菜单,菜单是下拉式的,也就是和VBA编辑器菜单是一样的。
xyj
2020/07/28
1.2K0
Excel VBA项目实战
前面的《Excel VBA:办公自动化》和大家分享了VBA常用的基础知识,就有同学留言问我:猴子老师,能不能出一个项目实战案例,可以把前面的知识都应用起来。
猴子数据分析
2021/04/15
1.7K1
Excel VBA事件——Worksheet
这个事件的有个比较典型的应用场景,选择改变后,将选择的单元格所在行标上颜色,也就是所谓的聚光灯:
xyj
2020/07/28
3.2K0
Excel VBA事件——Worksheet
excel vba获取拼音
Function PinYin2(Hz As String) Dim PinMa As String Dim MyPinMa As Variant Dim Temp As Integer, i As Integer, j As Integer PinMa = "a,20319,ai,20317,an,20304,ang,20295,ao,20292," PinMa = PinMa & "ba,20283,bai,20265,ban,20257,bang,20242,b
landv
2018/05/24
2K0
Excel VBA 编程练习
最近做了一个VBA的小case,用于方便excel数据的处理,主要的功能代码记录如下。
全栈程序员站长
2022/09/05
8180
Excel VBA之Find
使用,因为我们的工作表中常常在最后会写一此“备注”,我们在取数据的时候,备注与后面的东西是没用的,所以我们要取到备注以上的东西,以"金额合计"或“合计”为最后一行号
哆哆Excel
2022/10/25
2.2K0
Excel VBA对象模型
上一讲说了Range对象,这一次我们从总体方面来说一下Excel VBA的对象模型。
xyj
2020/07/28
2.3K0
Excel VBA对象模型
使用VBA自动更改Excel打印区域
在Excel中,将打印区域设置在移动单元格区域内可能是比较困难的事。你可能希望捕捉特定单元格区域为打印区域,或者让打印区域仅考虑某些列。假设在Excel工作簿中有几个辅助列,不希望打印这些列,但希望这些列可见。可以手动设置打印区域以排除非打印区域,但现在已经添加了更多数据,并且希望以同样的方式更新打印区域。
fanjy
2022/11/16
2.2K0
问与答71: 如何使用VBA打印PDF文件?
A:在《VBA小技巧04:使用VBA获取能够打开指定文件的EXE程序》中,我们介绍了一个自定义函数ExePath,可以获取能够打开指定文件的EXE程序的路径。这样,我们就可以使用EXE程序来打开该文件了。因此,下面的代码先使用ExePath函数获取PDF文件的可执行程序路径,然后使用它来打开指定的PDF文件。
fanjy
2019/11/22
6.3K0

相似问题

使用VBA将Excel行转换为PDF页面

17

VBA Excel PDF输出在页面上不好

18

在Excel中使用VBA打开pdf格式的页面

20

Excel VBA -导出为PDF

23

Excel VBA打印到PDF

1100
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文