一个关于“对象变量或with块变量未设置”的诡异错误!

来源:百度知道 编辑:UC知道 时间:2024/09/24 14:33:26
先列一下程序:
Private Sub Command2_Click()
Set XlApp = CreateObject("Excel.Application") '创建EXCEL应用类
XlApp.Visible = True '设置EXCEL可见
Set XlBook = XlApp.Workbooks.Open("c:\报表.xls") '打开要excel文件
Set XlSheet = XlBook.Worksheets(1)
XlSheet.Activate

XlBook.Sheets("汇总").Select
XlBook.ActiveChart.Shapes("WordArt 7").Select
Selection.ShapeRange.TextEffect.Text = "abcde"'先修改表头日期

End Sub

很简单的一个vb小程序,就是打开这个excel表格,激活“汇总”表单,然后把“WordArt 7”艺术字的内容改成abcde

后边几行程序都是从excel的宏中录制的,而且整个程序是可以成功运行的

但问题是,只要在关闭窗口前重新激活按钮第二次,就会出现“对象变量或with块变量未设置”的错误报警!而且错误报警也是有条件的,是只有在关闭了刚刚修改过的表格后才会出现,如果没有关闭它,程序会以只读的方式打开同一个文件,然后再次成功修改

这个诡异的错误让我百思不得其解

现在我想做到的是,激活按钮时,打开excel文件,修改那个艺术字;然后我退出excel表格(存与不存均可),再次激活这个按钮,程序能重新成功运行!

望各位大侠帮忙解释一下,然后提供一个有效的办法!谢谢了!
最后100分,通通交出来悬赏!
哦对了,忘了说明,出错会停在Selection.ShapeRange.TextEffect.Text = "abcde&q

直接使用对象,就可以了。
我这里使用修改为时间的方法
Private Sub Command1_Click()
Set XLApp = CreateObject("Excel.Application") '创建EXCEL应用类
XLApp.Visible = True '设置EXCEL可见
Set XlBook = XLApp.Workbooks.Open("c:\报表.xls") '打开要excel文件
XlBook.Sheets("汇总").Shapes("WordArt 1").TextEffect.Text = CStr(Time) '先修改表头日期
XlBook.Save
XlBook.Close
XLApp.Quit
End Sub

我试了一下,没有发现你反映的问题。
代码修改如下:
Private Sub Command2_Click()
Set XlApp = CreateObject("Excel.Application") '创建EXCEL应用类
XlApp.Visible = True '设置EXCEL可见
Set XlBook = XlApp.Workbooks.Open("c:\报表.xls") '打开要excel文件
Set XlSheet = XlBook.Worksheets(1)
XlSheet.Activate
XlBook.Sheets("汇总").Select
XlSheet.Shapes("WordArt 7").TextEffect.Text ="abcde"'先修改表头日期
End Sub

出错后停在哪一句上啊