标题:[求助]操作EXCEL碰到的怪事。
只看楼主
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
结帖率:100%
 问题点数:0 回复次数:2 
[求助]操作EXCEL碰到的怪事。
我有一段程序:

Private Sub Command7_Click()
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open(App.Path & "\" & xm & "\工作底稿.xls") '打开已经存在的EXCEL工件簿文件
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets(Label1.Caption) '设置活动工作表
xlSheet.Activate '激活工作表
xlBook.RunAutoMacros (xlAutoOpen) '运行自动开启宏auto_open()
If maxl > 5 Then
For n = 1 To maxl - 5 'maxl-5是需要增加的行数。
xlSheet.Rows(6).Insert '在工作表的第6行处插入一行
xlSheet.Range("A6:D6").Select '选定要合并的行
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlGeneral '这一行会报错
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Next
End If
End Sub

这段程序能在我指定的EXCEL工作薄位置增加指定的行数,并能把我指定的格子合并了。
看起来一点问题都没有,但它只能点击一次,也就是说,如果我把EXCEL关闲了,再想打开一次时(点击Command7),它会报.HorizontalAlignment这行的变量或with块的变量未设置。
每次都是这样,就是第一次点一切正常,关闭EXCEL后再点就报这个错,感觉是内存中有什么东东没有清除。
请问高手门,我该什么办?!

另,这段程序也能给初学者一点学习参考价值吧

[此贴子已经被作者于2006-10-20 11:32:31编辑过]

搜索更多相关主题的帖子: EXCEL 怪事 
2006-10-20 11:20
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
得分:0 
已经搞定
Private Sub Command7_Click()
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open(App.Path & "\" & xm & "\工作底稿.xls") '打开已经存在的EXCEL工件簿文件
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets(Label1.Caption) '设置活动工作表
xlSheet.Activate '激活工作表
xlBook.RunAutoMacros (xlAutoOpen) '运行自动开启宏auto_open()
If maxl > 5 Then
For n = 1 To maxl - 5 'maxl-5是需要增加的行数。
xlSheet.Rows(6).Insert '在工作表的第6行处插入一行
xlSheet.Range("A6:D6").Select '选定要合并的行
Application.CutCopyMode = False
With xlApp.Selection '这一行这样改就什么问题都没了。
.HorizontalAlignment = xlGeneral '这一行会报错
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Next
End If
End Sub

2006-10-20 11:57
电梯浪子
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-28
得分:0 

怎么改变写入字体的颜色??是那个属性??

2006-10-28 16:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-97541-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020009 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved