1 代码部分

代码功能:实现使用sumatra打开指定pdf指定页码

代码:

Sub OpenPDFatPage()
    Dim PDFFile As String
    Dim PageNumber As Long
    Dim SumatraPath As String
    
    'PDF文件路径
    PDFFile = "C:\Users\Administrator\Desktop\22.pdf"
    
    '要打开的页码(从1开始)
    PageNumber = 2
    
    'SumatraPDF程序路径
    SumatraPath = "C:\Program Files\SumatraPDF\SumatraPDF.exe"
    
    '调用SumatraPDF打开PDF文件并跳转到指定页码
    Call Shell("""" & SumatraPath & """ -page " & PageNumber & " """ & PDFFile & """", vbNormalFocus)

End Sub

2 报错内容

3 解决方法

由于我在vba中调试始终不成功,后来换了一个思路,我先用python代码进行编程,后来得到的错误提示是如下:

hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 740] 请求的操作需要提升。

于是我就明白了。原来是我之前把sumatrapdf.exe兼容性设置成了管理员。

 

最终解决办法只需要把这个对钩去掉就行,也就是不需要使用管理员权限:

 

 

好了,根据上述修改,代码已经顺利运行!!!

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。