用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 部分
[解决办法]
要严格按照从小到大的次序释放
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
不能直接用的,第一次会成功,但之后就会出错,应该修改成具体的单元框