首页 文章

如何允许VBA代码在只读PowerPoint文件中运行?

提问于
浏览
1

我有一个受密码保护的PowerPoint文件,因为坦率地说,与文件交互的操作员是计算机文盲,如果文件可编辑,可能会意外破坏该文件 .

我应该说,在我深入了解之前......我搜索并找到了这个问题,这个解决方案在这种情况下不起作用:Click Me

我写了一个简单的VBA脚本,允许他们搜索部件号,而不是使用PowerPoint幻灯片找到正确的部件号(这可以追溯到不用于计算机甚至不知道PowerPoint是什么) .

无论如何,该脚本在我的计算机上运行良好,但显然我必须输入密码才能编辑VBA代码 . 当我尝试以只读模式运行代码时,出现错误 "Run-time error '-2147467259 (80004005)' Presentation (unknown member) : Invalid request. Presentation cannot be modified."

从本质上讲,我看到代码无法以只读模式执行文件 .

错误实际上发生在这段代码中:

'Follow the hyperlink to opent the correct file
    If Len(Dir$(ActivePresentation.Path & "\" & sFile)) > 0 Then
        ActivePresentation.FollowHyperlink Address:=sFile
    Else
        MsgBox "No file exists at path " & ActivePresentation.Path & "\" & sFile
    End If

在线 ActivePresentation.FollowHyperlink Address:=sFile .

我可以做什么以不同的方式打开pdf文件,演示文稿是只读模式?

1 回答

  • 0

    您无法打开受密码保护的文件,无需提供密码 . 要通过提供密码在VBA中打开文件,您可以这样做:

    设置oPres = Presentations.Open(“c:\ temp \ open.pptx :: pwd ::”)

    其中c:\ temp \ open.pptx是文件的路径,pwd是密码 .

    由于这会打开文件,你的同事仍然可以编辑它,所以你可以考虑将真实文件复制到他们的临时文件夹,可能是在一些不太可能的情况下,打开副本而不是原始文件 . 然后在下次运行任何代码时删除任何现有副本 .

相关问题