Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Microsoft Office 2010更新后的Visual Basic文件复制错误75_Excel_Vba_Security_Batch File_Ms Office - Fatal编程技术网

Excel Microsoft Office 2010更新后的Visual Basic文件复制错误75

Excel Microsoft Office 2010更新后的Visual Basic文件复制错误75,excel,vba,security,batch-file,ms-office,Excel,Vba,Security,Batch File,Ms Office,最近,Microsoft Office在工作中推出了大量安全更新。我们有一个Excel工具,它有一个Visual Basic主干,在更新之前可以工作,但现在无法工作 我做了一些单独的测试,发现在.BAT和.EXE文件上使用FileCopy方法时,我们看到了相同的“错误75”。其他“风险”较小的文件类型似乎也可以。这也是“打开”命令的一个问题 是否有人知道在复制/粘贴.EXE和.BAT文件时此问题的解决方法,或者这可能是某个安全更新的已知问题?我到处都在搜索,但是谷歌让我失望了。我希望: 有人知道

最近,Microsoft Office在工作中推出了大量安全更新。我们有一个Excel工具,它有一个Visual Basic主干,在更新之前可以工作,但现在无法工作

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

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

  • 有人知道哪个安全更新是罪魁祸首,我可以试试 卸载它以查看这是否解决了问题
  • 有一种不同的方法可以复制/打开/操作不违反新安全补丁的.BAT和.EXE文件
  • 一些背景: 我们使用的是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
    
    Sub宏1()
    '声明变量
    将文件名、源路径、目标路径设置为字符串
    '路径名变量
    Filename=“test.dat”
    SourcePath=“C:\Users\\Desktop\working\u copy\”&Filename
    DestPath=“C:\Users\\Desktop\working\u copy\test\”&Filename
    '从源复制文件并粘贴到目标
    FileCopy源路径,DestPath
    端接头
    
    这是一个包含已安装更新的映像。该工具在2017年6月14日转储之前工作,因此之前的任何内容都可以忽略。 抱歉,图像太多,无法手动输入,无法从更新列表中轻松复制:

    工具或文件结构未发生任何更改。唯一不同的是更新。此外,我们在Microsoft Office Home 2016上测试了相同的工具,它工作顺利


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

    虽然我从来没有找到解决这个问题的真正方法,但我确实想出了一个稍微“黑客”的解决方法

    MS安全补丁阻止我复制/粘贴.BAT和.EXE文件,但我仍然可以保存.BAT文件。 因此,我最终让脚本创建了一个名为“copyExe.txt”的文本文件,其中只有一行:

    ECHO F|xcopy <source> <destination>
    
    ECHO F|xcopy
    
    然后将其重命名为“copyExe.bat”并运行

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


    总而言之,这看起来是一个非常愚蠢的解决方案,但它很有效,而且对用户来说是非常非侵入性的。

    我建议不要卸载任何安全更新。请进一步调查您遇到的错误。路径可能存在,但您是否有权限将文件放在您想放的位置?这些文件可以访问吗?可能检查:是的,我对我试图访问的所有文件、文件夹和子文件夹具有“完全控制”权限。在更新前一天,一切正常,工具或文件结构没有任何变化。我只是再次检查以验证更新没有修改我的权限。您是否激活了用户帐户控制(UAC)?如果是这样的话,它是否可以在没有人的情况下工作?在没有UAC的Windows 8.1上,
    .exe
    .bat
    都已激活。不确定。我将不得不等待它为我做这件事,所以希望我今天可以检查。谢谢我会让你知道的。仅供参考:UAC已停用。谢谢你的建议。它打开了一张探索的门票,但那是一个半月前的事了,所以我没有屏住呼吸。不过我找到了一份工作。