自动宏的问题

ccbbcc 西安理工大学 2019-05-10 10:00:59
我想实现让EXCEL工作簿关闭时自动保存,而不需要用户手工“保存”按钮。
代码如下:
Option Explicit

Dim XlApp As New Excel.Application '使用 Excel 对象删除指定行
Dim XlBook As New Excel.Workbook
Dim XlSheet As New Excel.Worksheet

Private Sub Command1_Click()
XlApp.StatusBar = "四维实业公司人事报表"
End Sub

Private Sub Command2_Click()
'XlBook.Save
XlApp.ThisWorkbook.Save

XlApp.Visible = False
End Sub

Private Sub Form_Load()
Set XlApp = CreateObject("Excel.Application") '创建EXCEL对象
XlApp.Visible = True

Set XlBook = XlApp.Workbooks.Open(App.Path & "\8-1 自动宏.xlsm")
Set XlSheet = XlBook.Worksheets(1)
End Sub

有错误。
我把XlApp.ThisWorkbook.Save
改为XlBook.Save

又出现这个错误。
请问高手,如何解决?谢谢!
...全文
93 点赞 收藏 5
写回复
5 条回复
milaoshu1020 2019年05月11日
你看这个代码行不行,我试了一下,没问题;
不会弹窗,直接关闭,可以保存;

Option Explicit

Dim XlApp As Excel.Application '使用 Excel 对象删除指定行
Dim XlBook As Excel.Workbook
Dim XlSheet As Excel.Worksheet

Private Sub Command1_Click()
XlApp.StatusBar = "四维实业公司人事报表"
End Sub

Private Sub Command2_Click()
XlBook.Save
XlApp.Visible = False
End Sub

Private Sub Form_Load()
Set XlApp = CreateObject("Excel.Application") '创建EXCEL对象
XlApp.Visible = True

Set XlBook = XlApp.Workbooks.Open(App.Path & "\8-1 自动宏.xlsm")
Set XlSheet = XlBook.Worksheets(1)
End Sub

Private Sub Form_Unload(Cancel As Integer)
XlApp.Quit
End Sub
回复 点赞
ccbbcc 2019年05月11日
谢谢!还是不行,提示“拒绝的权限”。
回复 点赞
milaoshu1020 2019年05月10日
不好意思,写错了;
改成:
fso.deletefile xlbook.fullname,true
应该就可以了;
回复 点赞
ccbbcc 2019年05月10日
谢谢!不行,有错误。
回复 点赞
milaoshu1020 2019年05月10日
这样试试:

Option Explicit

Dim XlApp As New Excel.Application '使用 Excel 对象删除指定行
Dim XlBook As New Excel.Workbook
Dim XlSheet As New Excel.Worksheet
dim fso as object

Private Sub Command1_Click()
XlApp.StatusBar = "四维实业公司人事报表"
End Sub

Private Sub Command2_Click()
fso.delete xlbook.fullname,true
XlBook.Save
'XlApp.ThisWorkbook.Save

XlApp.Visible = False
End Sub

Private Sub Form_Load()
set fso = createobject("scripting.filesystemobject")
Set XlApp = CreateObject("Excel.Application") '创建EXCEL对象
XlApp.Visible = True

Set XlBook = XlApp.Workbooks.Open(App.Path & "\8-1 自动宏.xlsm")
Set XlSheet = XlBook.Worksheets(1)
End Sub
回复 点赞
发动态
发帖子
VB基础类
创建于2007-09-28

2750

社区成员

19.7w+

社区内容

VB 基础类
社区公告
暂无公告