Excel 2016宏运行时错误1004:相对路径无法访问文件求排查
当前工作目录不匹配
Excel VBA的相对路径基于系统当前工作目录,而非Excel文件所在目录。如果你的Excel启动默认工作目录不是表格所在的D:\Temp(比如默认指向Documents文件夹),.\input\common\datafile.txt就会指向错误路径。可通过命令行执行cd查看当前目录,或新建空白Excel文件并添加临时宏执行Debug.Print CurDir()验证。Excel信任中心设置限制
检查信任中心的「受信任位置」,若表格所在的D:\Temp未被添加为受信任位置,Excel可能限制宏对相对路径文件的访问(即使绝对路径可正常读取)。同时确认「宏设置」里的权限选项未过度严格。Windows用户环境变量异常
检查USERPROFILE、HOMEPATH等环境变量是否被篡改,这类变量异常可能导致Excel解析相对路径出错。通过Win+R输入cmd,执行echo %USERPROFILE%并对比队友的正常值。文件启动方式导致路径偏移
若通过文件资源管理器的「快速访问」「最近文件」列表或跳转列表打开表格,Excel可能将启动目录设为快速访问的默认路径(如C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\Recent),而非表格实际所在目录。直接从表格所在文件夹双击打开文件后再测试宏。安全软件拦截
部分杀毒软件或端点安全工具会拦截VBA通过相对路径访问文件,即便绝对路径在白名单内。可临时关闭安全软件测试(注意风险),或查看安全软件日志是否有相关拦截记录。第三方加载项干扰
第三方Excel加载项(插件、自定义工具栏)可能修改Excel的工作目录或文件访问逻辑。按住Ctrl双击Excel图标以安全模式启动,再打开表格测试宏,排除加载项影响。
内容的提问来源于stack exchange,提问作者Bill de Haan

