我正在创建用于将多个excel表格导出到带有水印和表单域等的pdf的程序。现在一切正常,但最终的pdf很大。因此,我在考虑缩小尺寸的最佳方法,我发现最好的结果是,只需在Adobe Acrobat中打开pdf,然后使用“ Adobe PDF”打印机进行打印。这样,我将文件大小减小到原始大小的1/6。
因此,我正在尝试通过VBA代码执行此操作,它看起来像是使用JS的漂亮直接代码。
sPath = "some path"
sPathFinal = "some other path"
Dim AcroApp As AcroAVDoc: Set AcroApp = CreateObject("AcroExch.AVDoc")
Dim Document As AcroPDDoc
Dim JSO, pp
AcroApp.Open sPath, ""
Set Document = AcroApp.GetPDDoc()
Set JSO = Document.GetJSObject
Set pp = JSO.getPrintParams
pp.printerName = "Adobe PDF"
pp.Filename = sPathFinal
JSO.Print (pp)
问题在最后一行,应该是
JSO.print(pp)-小写为“ p”的“ print”
但是,每次我离开车道时,它都会自动更正为大写的“ P”。我试图在“工具”->“选项”->“编辑器”->“代码设置”以及“选项”选项卡中的其他位置上关闭所有功能,但到目前为止还算运气不好。
有没有办法防止这种自动更正?
(我也不是英语母语,所以很有可能被不同地称为:)
简短的提示是不可以的,因为VBA编辑器会自动更正代码中的大小写。
这是因为VB区分大小写(尽管看起来不一样),并且编辑器尝试通过更改变量的大小写来防止输入错误。
如果要保留大小写并避免自动更正,最简单的解决方案是使用其他编辑器(如Notepad
)从命令行编译代码。
希望对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句