gpt4 book ai didi

vba - 从网络更新本地 MSOffice 加载项期间出现权限被拒绝错误

转载 作者:行者123 更新时间:2023-12-02 05:43:09 25 4
gpt4 key购买 nike

我正在尝试在 PowerPoint 2003 中编写一个过程,该过程将允许自动更新已安装的加载项。大致流程如下:

  1. 卸载加载项

    For Each objAddIn In Application.AddIns
    If UCase(objAddIn.Name) = UCase(AddInName) Then
    With objAddIn
    .Registered = msoFalse
    .AutoLoad = msoFalse
    .Loaded = msoFalse
    End With
    End If
    Next

  2. 从本地加载项目录中删除文件

    Set objFSO = CreateObject("Scripting.FileSystemObject")<br/>
    If objFSO.FileExists(FileName) Then
    Set objFSO = Nothing
    Kill FileName
    End If

  3. 从网络位置复制文件

  4. 安装更新的加载项

到达步骤 2 后,任何使用 FileSystemObject 或直接 Kill 卸载后删除文件的尝试都不可避免地会生成运行时错误“70” ':权限被拒绝。如果我点击“调试”然后播放,它就会运行起来,就好像从来没有出现过问题一样。

旁注:我意识到我可以使用 FSO 覆盖本地文件,但这会给我带来相同的运行时错误。

我猜测问题与正在使用的文件的某些方面有关,但我无法弄清楚如何“释放”旧的加载项以便可以删除底层文件。

有人有可以提供帮助的见解吗?

最佳答案

您需要先将其从插件集合中删除,然后才能进行物理删除。将其放在 End With 之后:

Application.AddIns.Remove objAddIn.Name

关于vba - 从网络更新本地 MSOffice 加载项期间出现权限被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com