如何禁用vba中的自动完成功能?

问题描述 投票:0回答:1

我正在创建一个程序,用于将多个 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 autocomplete uppercase case-sensitive lowercase
1个回答
1
投票

简短的回答是不,你不能,因为 VBA 编辑器会自动更正代码中的大小写。

这是因为 VB 区分大小写(尽管看起来不像),并且编辑器会尝试通过更改变量的大小写来防止拼写错误。

如果您想保留大小写并避免自动更正,最简单的解决方案是使用其他编辑器(如

Notepad
)并从命令行编译代码。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.