请教一个Excel vba的问题:我设计了一段代码,当单击关闭按钮“X”时进入后台保存程序,并退出

请教一个Excel vba的问题:我设计了一段代码,当单击关闭按钮“X”时进入后台保存程序,并退出Excel,在2003中运行没有问题很正常,但文件太大保存时间太长,受不了。改成2007文件格式以后,保存时间倒确实缩短了,但操作时间只要超过系统自动恢复保存时间(如设置为10分钟)以后,系统就提示出错,当单击提示框的“调试”按钮以后,系统便停在了这条代码上:“ThisWorkbook.Save ”在此过程中单击保存按钮也同样出问题。问题大致就是这样,我希望继续使用2007文件格式,但也不取消自动保存设置,因为对别的文件或用户这项功能还很有用。哪位高手帮忙指点一下怎么解决?在下在此谢谢了!

我可以试试。如果方便的话,把包含代码的文件发到hsworking@qq.com,白天有时间的时候帮你看看追问

好的

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-15
你写成 Application.Activeworkbook.save
就可以保存的。
ThisWorkbook.Save 的作用跟 Application.Activeworkbook.save 是不同的。

excel vba怎么实现关闭时是否保存对话框不重复弹出
刚才搞了一下,不是很成功,逻辑上有点儿问题。如果你想保存,这时候出现提示,然后不保存退出,这和一开始需要保存产生了循环。如果直接在你的代码中增加ThisWorkbook.Close False,会产生保存后就可能不保存的退出的问题。或者你将Cancel = False,这样就会保存退出,感觉比较安全 ...

VBA 在excel关闭用户页面和窗口总是弹出很多另存文件提示,怎样能关闭了...
Application.DisplayAlerts = False 放在你代码的开头吧,放在DIM J AS LONG 上面,表示关闭弹窗,在代码的最后面要写个:Application.DisplayAlerts = False。也就是END SUB的上面,表示开启弹窗。这样做每次运行是都会替换你之前的操作,你之前的操作不会被保存。

VBA 中怎么设置关闭窗体同时关闭EXCEl,代码应该怎么写,谢谢了
1、首先打开需要编辑的Excel表格,右键单击工作表选择打开“查看代码”。2、然后在弹出来的窗口中点击打开“通用”。选择Terminate 事件。3、然后在弹出来的窗口中点击输入下方的代码,Private Sub UserForm_Terminate()ThisWorkbook.Saved = True Application.Quit End Sub 4、然后运行程序,这样就可以设置关...

EXCEL VBA编程的问题: 我用命令禁用了EXCEL本身的保存按钮,但设定的...
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)If 全局变量 = True Then Cancel = False Else Cancel = True End If End Sub

如何用vba实现当关闭工作簿时能显示自打开工作簿后所作的所有操作,未点...
按Alt F11打开VBA编辑器,按Ctrl R打开项目资源管理器(如果已经打开则跳过),右键单击当前工作簿,选择插入(n)和模块(m),然后将下面的代码粘贴到右边的代码编辑区,按F5执行。但是,如果工作簿尚未保存,将弹出一个窗口,提示您用要保存的工作簿的文件名替换默认文件名。Sub SaveAndCloseAllBook()将...

EXCEL VBA怎样在点击按钮后,弹出一个输入密码的对话框,密码正确的话执...
Sub test()myPW = "123456" '设置密码p = InputBox("请输入运行密码", "温馨提示!", Default)If myPW = p Then MsgBox "OK" '删除此句,插入原代码Else MsgBox "密码错误,请重新输入!", , "温馨提示!"End IfEnd Sub ...

vba大神可以将excel设置成 每当我关闭表格时,将会自动打印成pdf文件...
打开vba,双击左侧thisworkbook,在弹出的窗口中输入以下内容:'代码开始 Private Sub workbook_BeforeClose(Cancel As Boolean)Dim SavePath As String SavePath = "name" & Date & Time() & ".pdf"SavePath = Replace(SavePath, "\/", "")SavePath = Replace(SavePath, ":", "")ThisWorkbook....

...按钮,如何使其达到的效果为 click这个按钮等于同时在excel中按...
第二个问题可以用Worksheet的FollowHyperlink事件来做,将以下程序添加到包含超链接的工作表的VBA模块中应该就可以了:Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)Dim sheetTarget As Worksheet On Error Resume Next If Trim(Target.Address) = "" Then Set sheetTarget = Application....

我用excel开打vba工具!打开excel后、先alt f11进入vb编辑器!写玩代码后...
参考答案:当我们被误解时,会花很多时间去辩白。但没有用,没人愿意听,大家习惯按自己的所闻、理解做出判别,每个人其实都很固执。与其努力且痛苦的试图扭转别人的评判,不如默默承受,给大家多一点时间和空间去了解。而我们省下辩解的功夫,去实现自身更久远的人生价值。其实,渡人如渡己,渡已,亦是...

excel vba怎样让工作簿关闭时不弹出保存对话框?
1、打开Excel 2003或2007或2010或2013完整版版本。2、进入“开发工具”一栏。3、点选“Visual Basic”选项卡中的“编辑器”。4、双击“ThisWorkBook”或“工作表1”。5、在空白区域填写代码:Sub 保存所有已打开的工作簿(),Dim i As Workbook,For Each i In Workbooks, If i.Path <> "" ...

相似回答
大家正在搜