Microsoft Office 2010更新后的Visual Basic FileCopy错误75

时间:2017-07-05 19:38:52

标签: excel vba security batch-file ms-office

最近,Microsoft Office正在推动大量安全更新。我们有一个带有Visual Basic主干的Excel工具,它在更新之前工作,现在不起作用。

我做了一些独立的测试,发现在.BAT和.EXE文件上使用FileCopy方法时,我们看到了相同的'错误75'。其他较少'风险'的文件类型似乎没问题。这也是“打开”命令的问题。

在复制/粘贴.EXE和.BAT文件时,是否有人知道此问题的解决方法,或者这是某个安全更新的已知问题?我到处搜索,但谷歌让我失望。我希望:

  1. 有人知道哪个安全更新是罪魁祸首,我可以尝试 卸载它以查看是否能解决问题
  2. 有一种不同的方法来复制/打开/操作.BAT和.EXE文件,这些文件没有违反新的安全补丁。
  3. 一些背景: 我们使用的是Microsoft Office Professional Plus 2010,该工具使用Excel作为界面。

    这是我正在使用的测试代码。我已经验证.TXT和.DAT文件运行正常,而.EXE和.BAT文件导致'错误75'表示权限错误。在你问之前,是的,文件路径是正确的,我刚刚省略了我的员工识别信息。

    Sub Macro1()
        ' Declare variables
        Dim Filename, SourcePath, DestPath As String
    
        ' Pathname variables
        Filename = "test.dat"
        SourcePath = "C:\Users\<REDACTED>\Desktop\working_copy\" & Filename
        DestPath = "C:\Users\<REDACTED>\Desktop\working_copy\test\" & Filename
    
        ' Copy file from Source and paste in Destination
        FileCopy SourcePath, DestPath
    End Sub
    

    这是包含已安装更新的图像。该工具在6/14/2017转储之前工作,所以之前的任何事情都可以忽略不计。 对于图像感到抱歉,手动输入的图像太多,无法从更新列表中轻松复制:

    MS Office 2010 Security Updates

    工具或文件结构没有任何变化。唯一不同的是更新。此外,我们使用Microsoft Office Home 2016测试了相同的工具,并且工作顺利。

    任何和所有帮助将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:1)

虽然我从来没有找到真正解决这个问题的方法,但我确实找到了一个轻微的&#39; hacky&#39;变通。

MS安全补丁阻止我复制/粘贴.BAT和.EXE文件,但我仍然可以保存.BAT文件。 所以,我最终让我的脚本创建了一个名为&#34; copyExe.txt&#34;的文本文件。有一行:

ECHO F|xcopy <source> <destination>

然后将其重命名为&#34; copyExe.bat&#34;然后跑。

通过创建.txt文件,我在.BAT文件上使用VBA Open功能时规避了错误(所以我实际上可以创建这个新的批处理文件)。此批处理文件的唯一目的是将.EXE文件从一个文件夹复制/粘贴到另一个文件夹,从而在尝试复制/粘贴.EXE文件时避免了错误。 运行复制/粘贴脚本后,它将被删除。

总而言之,它感觉就像一个非常愚蠢的解决方案,但它对用户来说非常有效并且非侵入性。