首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

用VB调用EXCEL排序的有关问题,(实时异常 '1004' 对象 'Range' 的方法 '_Global' 失败)

2012-05-20 
用VB调用EXCEL排序的问题,(实时错误 1004 对象 Range 的方法 _Global 失败)用VB调用EXCEL排序的问题

用VB调用EXCEL排序的问题,(实时错误 '1004' 对象 'Range' 的方法 '_Global' 失败)
用VB调用EXCEL排序的问题,(实时错误 '1004' 对象 'Range' 的方法 '_Global' 失败)
排序的代码如下:
Selection.Sort Key1:=Range("B2"), Order1:=xlDescending, Key2:=Range("C2"), Order2:=xlDescending, Key3:=Range("D2"), Order3:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal

第一次运行时一切正常,但按CTRL+ALT+DEL,仍可在关闭程序窗口看见EXCEL,
第二次运行时出现:实时错误 '1004' 对象 'Range' 的方法 '_Global' 失败

退出EXCEL的语句如下:
  myBook.Close
  myExcel.Quit
  Set mySheet = Nothing
  Set myBook = Nothing
  Set myExcel = Nothing

是我的语句有问题,还是需要对排序的代码进行修改?谢谢。
只有25分了。不够,请多支持。谢谢。

[解决办法]
lz是不是用的 New CreatObjet("excel.applicarion")?
把new去掉试试 也许进程里的excel会随着Nothing消失
[解决办法]
直接杀死
'*********************杀死Excel进程*************************
On Error Resume Next
Dim s
s = "excel.exe"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name='" & s & "'")
For Each objProcess In colProcessList
objProcess.Terminate
Next
'*************************************************************
[解决办法]

贴多点代码出来.. 创建EXCEL部分 出错部分 关闭EXCEL 部分
[解决办法]
要严格按照从小到大的次序释放

VB code
Set mySheet = NothingmyBook.SaveAs ("号码分析") '文件另存为myBook.CloseSet myBook = NothingmyExcel.Application.IgnoreRemoteRequests = FalsemyExcel.QuitSet myExcel = Nothing
[解决办法]
Selection.Sort Key1:=mySheet.Range("B2:B20000"), Order1:=xlDescending, Key2:=mySheet.Range("C2:C20000"), Order2:=xlDescending, Key3:=mySheet.Range("D2:D20000"), Order3:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
不能直接用的,第一次会成功,但之后就会出错,应该修改成具体的单元框

热点排行