You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel宏VBA代码编译错误:ThisWorkbook.Save报‘需函数或变量’

解决VBA中ThisWorkbook.Save的编译错误问题

我来帮你理清这个问题——你遇到的错误其实是对VBA中方法和属性的用法混淆了:

错误原因

ThisWorkbook.Save是一个方法(也就是需要执行的动作),而不是可以赋值的属性。你写.Save = True这种赋值操作是完全错误的,VBA会误以为你把Save当成了一个变量或者可赋值的属性,所以抛出“Expected Function or variable”的编译错误。

至于Intellisense显示Save是有效选项,这没问题——它确实是合法的方法,只是你用错了调用方式而已。

正确写法

如果你想要先保存工作簿再关闭,直接调用Save方法即可,不需要赋值:

With ThisWorkbook
    .Save ' 直接执行保存动作
    .Close
End With

如果你想更简洁,也可以直接用Close方法的SaveChanges参数一步完成关闭并保存:

ThisWorkbook.Close SaveChanges:=True

这样就能避免编译错误,同时实现你想要的保存后关闭工作簿的功能。

内容的提问来源于stack exchange,提问作者Space Cadet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:09:19