问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vb 杀excel进程

发布网友 发布时间:2022-06-15 09:01

我来回答

5个回答

热心网友 时间:2023-10-24 04:55

vb 杀excel进程

Vb调用excel,出错了就会在进程里留下excel的进程,再调用就会
出错。谁给段代码,检查进程里的excel并杀掉。谢谢!好的追加分!
[1]在Vb2005中结束所有打开的Excel进程2007年11月24日 11:55打开了Excel文件,使用后是要关闭的,下面是打开及关闭的所有代码,本人测试成功。

Try
Dim Addr As New Excel.Application
'Dim AddrString As String = "F:\Myfiles\学校文件\2007下半年\教职工通讯录200709.xls"
'Addr.Workbooks.Open(AddrString)
Addr.Workbooks.Open("F:\Myfiles\学校文件\2007下半年\教职工通讯录200709.xls")
Addr.Visible = True
Catch ex As Exception
MsgBox(ex.Message)
Finally
Dim pList() As System.Diagnostics.Process = _
System.Diagnostics.Process.GetProcessesByName("excel")
For Each proc As System.Diagnostics.Process In pList
Try
proc.Kill()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Next

End Try
[2] 在VB中怎样结束Excel进程
我想把VB中的数据保存在Excel中,我用的一个开始和结束按钮,但是当我按下结束按钮时,Excel并没有在进程中消失
,除非我把整个程序给结束了才可以终止Excel这个进程,可我又不能终止程序的运行,问下高手有什么方法可以在不用
终止程序的情况下就可以结束Excel进程。下面是我的程序代码:
Dim exApp As Excel.Application
Private Sub start_Command_Click()
Set exApp = New Excel.Application
CommonDialog1.Filter = "Excel 表 ¦*.xls"
CommonDialog1.ShowOpen
If Len(CommonDialog1.FileName) >= 1 Then
exApp.Workbooks.Open CommonDialog1.FileName
Range(Cells(1, 1), Cells(1, 1)) = "采集的温度"
Range(Cells(1, 2), Cells(1, 2)) = "P(比例系数)"
Range(Cells(1, 3), Cells(1, 3)) = "I(积分系数)"
Range(Cells(1, 4), Cells(1, 4)) = "D(微分系数)"
exApp.ActiveWorkbook.Save
exApp.ActiveWorkbook.Close
End If
End Sub
望大家给点意见!
Private Sub stop_Command_Click()
exApp.Quit
Set exApp = Nothing
End Sub

================================================
stop_Command_Click 明显多余,而且如果不按结束按钮而连按两次开始按钮就会多出一个未关闭的 Excel 实例。
你的这种应用应该将所有的 Excel 操作全部在一个按钮内实现,exApp 变量也应该作为过程级变量声明。
==================================================
VB code'打开excel文件Public Sub openExcel(ByVal strName As String) If blnOpenStatus Then closeExcel End If Set xlsApp = CreateObject("Excel.Application") Set xlsBook = xlsApp.Workbooks.Open(strName) Set xlsSheet = xlsBook.ActiveSheet blnOpenStatus = TrueEnd Sub'关闭excel文件Public Sub closeExcel() If blnOpenStatus Then blnOpenStatus = False xlsBook.Close xlsApp.Quit Set xlsApp = Nothing Set xlsBook = Nothing Set xlsSheet = Nothing End IfEnd Sub

当然, xlsApp xlsBook xlsSheet 为模块级变量
blnOpenStatus 标记是否有打开的EXCEL进程;
若有则先关闭,若没有则不关闭;
[3]我在程序中的一个自定义函数调用了EXCEL,结束时用了set xx=nothing了,但是第一次调用函数,正常,但是第二次调用就出错, 在进程中可以看到 EXCEL.exe,只有把程序退出,进程中的EXCEL.exe就消失了, 有的朋友建议我用.quit,.exit,结束EXCEL.exe,都没有用,我现在很急,也不深究了,想每次调用那个函数就判断一次 进程中是否有EXCEL.exe,如果有就用代码结束它,哪位仁兄忙我想想代码如何写(用VB6),在此谢谢大家,让我们一起进步!
VB提供的例子Geofacts中,提供判别当前是否有EXCEL在运行的方法,截取如下:

Public appWorld As Excel.Application
Public wbWorld As Excel.Workbook
'
' Public shtWorld As Excel.Worksheet

Sub Setup()
' 注意: 如果您的机器没有安装 Excel 97 ,
' 您必须更改应用到 Excel 95 对象库,
' 然后在上面的声明区, 更改变量声明从
' "wbWorld as Workbook" 到 "shtWorld As Worksheet"
' 然后更改所有引用从 "wbWorld" 到 "shtWorld"。

On Error Resume Next '忽略错误
Set appWorld = GetObject(, "Excel.Application") '查找一个正在运行的 Excel 拷贝
If Err.Number <> 0 Then '如果 Excel 没有运行则
Set appWorld = CreateObject("Excel.Application") '运行它
End If
Err.Clear ' 清除发生错误的 Err 对象

On Error GoTo 0 '保留普通错误进程

Set wbWorld = appWorld.Workbooks.Open(App.Path & "world.xls")

End Sub
在上面程序的基础上,用下列代码就能结束进程中的EXCEL.EXE:

Private Sub Command1_Click()
Setup
appWorld.Quit
Set appWorld = Nothing
End Sub
参考资料:http://www.vbgood.com/viewthread.php?tid=13125
http://tieba.baidu.com/f?kz=257861129

参考资料:http://www.luojia.net/bbs/viewthread.php?tid=143848

热心网友 时间:2023-10-24 04:55

'结束进程
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
msgbox "已发现目标!"
objProcess.Terminate()
Next

热心网友 时间:2023-10-24 04:56

shell "tskill excel"

热心网友 时间:2023-10-24 04:57

没有见过这

热心网友 时间:2023-10-24 04:57

貌似很专业的问题。 。我以为是杀什么毒的呢
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
工科考研50分数学能过国家线吗 数一工科国家线一般多少分 笔记本电脑无线连接epson爱普生打印机wifi怎么连接 爱普生如何无线连接 身份证注销了银行卡还可以用吗 8424西瓜是哪里产的? 一个人开两个支付宝是同一个二维码吗 买个衣服很生气,投诉无门, 拉夏贝尔衣服可以退吗 断桥铝门窗有多少种 消逝的光芒怎么给弩换弩箭 消逝的光芒2怎么退出大炮? 硅胶镭雕的作用,所有硅胶都需要做镭雕加工吗 请问塑胶产品上镭雕的作用是什么 这个可控硅如何接线?其中K1,K2,K3分别拉什么线? 徒劳无功四字成语 大连地热金一德做的比较好了,想上一套壁挂炉,不知道他家的怎么样? 大连有卖德国菲斯曼燃气采暖壁挂炉的吗? 辽宁大连 按壁挂炉取暖 按什么档收取煤气费? 不是有优惠吗? 圣罗曼真火壁炉在大连有没有办事处,他们的们品怎么样? 大连市壁挂炉接天燃气需要的程序 大连地区哪家燃气壁挂炉比较好? 事半功倍的反义词成语 一个四字成语神气后面是什么 神气得怎样填词语 徒劳无功也词语 有关回归的诗句 关于回归的诗句 回归的古诗 QQ游戏怎么样才能彻底删除? 苹果6plus微信发送拍摄的照片后,第二次使用拍摄的时候就黑屏了,怎么都不行,只能取消,退出微信 狼心狗肺的反义词 高中政治:全球性挑战和第三方威胁指什么? 高中政治:为什么通过伙伴关系应对第三方威胁和挑战不正确? 因民间高息借贷遇第三方威胁该怎么办 卡卡贷逾期,第三方威胁要上门强行收款 兴业银行信用卡逾期了三个月,第三方威胁怎么办 被套路本人拒绝之后,第三方威胁强行收取人工费报警有用吗? 解释狼心狗肺这个成语 淮南二中今年高考分数情况 2018年博平二中高考分数一本线 求常宁二中2018年高考光荣榜 或美术生录取结果 关于 反义词的成语 反义词大全成语 为什么原来在百度能搜到的MP3,《我的歌声里》现在搜不到额 一进门正对着沙发应该选什么样的玄关柜 含有反义词的成语20个 早CAD立面输入U返回怎么可以叫它前进到返回之前的状态 狼心狗肺成语的来历 狼心狗肺是成语吗