在excel文件不是通过vb打开时,就会报错;比如先打开excel再运行程序按钮2,报实时错误91,22行错误,求大神

DimxlAppAsExcel.Application'定义EXCEL类DimxlBookAsExcel.Workbook'定义工件簿类DimxlsheetAsExcel... Dim xlApp As Excel.Application '定义EXCEL类
Dim xlBook As Excel.Workbook '定义工件簿类
Dim xlsheet As Excel.Worksheet '定义工作表类
Private Sub Command1_Click() '打开EXCEL过程
If Dir("D:\temp\excel.bz") = "" Then '判断EXCEL是否打开
Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
xlApp.Visible = True '设置EXCEL可见
Set xlBook = xlApp.Workbooks.Open("D:\temp\bb.xls") '打开EXCEL工作簿
Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表
xlsheet.Activate
xlsheet.Range("C3").Value = "0000"
xlsheet.Cells(1, 1) = "777" '给单元格(row,col)赋
xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL中的启动宏
Else
MsgBox ("EXCEL已打开")
End If
End Sub
Private Sub Command2_Click()
If Dir("D:\temp\excel.bz") = "" Then
MsgBox ("EXCEL已关闭") '由VB关闭EXCEL
Else
xlBook.RunAutoMacros (xlAutoClose) '执行EXCEL关闭宏
xlBook.Close (True) '关闭EXCEL工作簿
xlApp.Quit '关闭EXCEL
End If
Set xlApp = Nothing '释放EXCEL对象
End
End Sub

excel 宏
Sub auto_open()
Open "d:\temp\excel.bz" For Output As #1 '写标志文件
Close #1
End Sub
Sub auto_close()
Kill "d:\temp\excel.bz" '删除标志文件
End Sub
展开
 我来答
敏锐还宁静丶行家0
2012-05-20 · TA获得超过6869个赞
知道大有可为答主
回答量:3502
采纳率:0%
帮助的人:1755万
展开全部
1、很显然,这是由于在按钮2(Command2)代码中没有定义xlBook造成的。
2、引用宏其实不用那么麻烦,在你的例子中直接用
auto_open '运行EXCEL中的启动宏
auto_close '执行EXCEL关闭宏
3、另外,正是由于1的原因,在23、24行同样会出现错误提示。因此,应当把按钮2的代码直接改为:
If Dir("D:\temp\excel.bz") = "" Then
MsgBox ("EXCEL已关闭") '由VB关闭EXCEL
Else
auto_close '执行EXCEL关闭宏
ActiveWindow.Close ("bb.xls") '关闭EXCEL工作簿
End If
Set xlApp = Nothing '释放EXCEL对象
End
格尼乐岛
2012-05-09 · TA获得超过145个赞
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:99.8万
展开全部
可能保存的有问题把
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式