昨天,2021年3月9日,Windows开始阻止我在我的Normal.dotm和Personal.xlsb文件中保存VBA。
当发生这种情况时,Windows会破坏Normal.dotm和Personal.xlsb的内容。可以保存受影响的文件(例如,典型的电子表格);但是,并发运行的Personal.xlsb不会保存。如果取消保存,并重新启动office应用程序(例如,Excel),Personal.xlsb文件将打开;但其所有代码都将消失。使用Word和Normal.dotm也会发生相同的行为。此问题存在于包括此代码或早期版本的所有机器上。
这是特别危险的,因为包含代码的文件的备份副本在使用时同样会在没有警告的情况下销毁。这些备份在几个月前被保存时是可以使用的。如果我打开这些代码,代码就会立即被移除,并且文件大小从有意义的东西(例如2000 8KB )缩小到大约8KB。
我删除了Personal.xlsb和Normal.dotm文件,并允许O365通过记录一个琐碎的宏重新创建它们。然后我可以使用MZTools重新导入代码;但是,无法保存重新填充的Personal.xlsb或Normal.dotm文件。由于文件权限错误,O365将返回“……无法完成保存”。
通过反复试验,我把问题的原因缩小到了一个评论和一系列陈述。如果我删除注释和语句,这些文件可以正常保存。“冒犯性”注释解释了一个冗长的Print语句,该语句用于构造用于从用户硬盘驱动器上的文件夹卸载(即删除)应用程序使用的文件的.bat文件。
奇怪的是,即使是评论本身,也足以触发Windows Security的保护行动。“令人反感”的评论是:
‘forfiles /p“c:\temp\文件夹A”/c "cmd /c del c:\temp\文件夹B@file“
如果我关闭实时保护,我可以正常工作;但是,一旦我打开它,问题就会恢复。
为缓解这一问题而采取的行动包括:
infections.
在这段时间里,我注意到了对Windows 10的大量更新,并做出了一致的努力,以确保W10和O365在我们所有的机器上都得到了充分的更新。问题依然存在。
我怀疑过于热切的Windows Security正在扫描类似于"del c:“的文本模式,然后丢弃所有内容,”确保确保“。
我的代码的目的是创建一个UnInstall.bat文件。此文件使用forfiles命令查看共享位置中指定文件夹中的文件列表,然后在用户硬盘驱动器上的指定子文件夹%APPDATA%中删除类似命名的文件。一个单独的Install.bat文件负责安装;但是,创建该文件的代码没有引起问题。请注意,在此期间没有执行创建UnInstall.bat和Install.bat文件的VBA过程。UnInstall.bat和Install.bat文件也没有在最近的内存中执行。
我刚开始发布软件,这是我尝试用我所拥有的工具和技能来实现的。我还没有尝试过允许Windows Security恢复或允许操作;但是,这将是为我的应用程序提供一个简单的更新功能的主要障碍。
有什么建议吗?在附近工作?
谢谢
布鲁斯
发布于 2021-03-13 05:41:48
Windows Security检测到的病毒的名称是什么?您可以将它们添加到Windows安全的异常列表中。
发布于 2021-03-23 16:23:07
Windows Security没有指出病毒的名称。它只是消失了文件(即使我只预览了资源管理器中的文件)。
我需要删除的代码中的行包括:
m_sFolderServerAddins定义到共享文件夹(例如Dropbox或Onedrive)的路径,m_sFolderUserAddins定义用户计算机上文件夹的路径。m_sAppData定义了到开发人员计算机上文件夹的路径,并被结果.bat文件中的字符串"%APPDATA%“所替换。
我还没有确定问题是否与"forfiles“、"cmd”、"del“或其他什么有关。我能确定的是这些台词是问题所在。如果我的VBA包含了它们,包含VBA的整个文件就会消失。啊呀。
我的工作包括:
关闭Windows >病毒和威胁保护>具有新扩展名的文件的实时Protection
)
https://stackoverflow.com/questions/66571965
复制相似问题