以下代码在任务管理器中打开两个EXCEL.EXE。
我希望在Form1关闭时从任务管理器中删除第二个EXCEL.EXE。
Imports Microsoft.Office.Interop
Public Class Form1
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
'Kill all EXCEL.EXE process from Task Manager
For Each prog As Process In Process.GetProcessesByName("EXCEL")
prog.Kill()
Next
Dim FirstxlApp As New Excel.Application 'Open first EXCEL.EXE in the Task Manager
Dim datestart As Date = Date.Now
Dim SecondxlApp As New Excel.Application 'Open second EXCEL.EXE in the Task Manager
Dim dateEnd As Date = Date.Now
SecondxlApp.Visible = True
Dim wb1 As Excel.Workbook
wb1 = SecondxlApp.Workbooks.Open("C:\Book1.xlsx")
End Sub
Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim xlp() As Process = Process.GetProcessesByName("EXCEL")
For Each Process As Process In xlp
If Process.StartTime >= datestart And Process.StartTime <= dateEnd Then
Process.Kill()
Exit For
End If
Next
End Sub
End Class
如何声明全局变量以解决以下错误?
答案 0 :(得分:1)
您的变量dateEnd
和dateStart
对FormClosing
方法隐藏,因为它们仅在Form_Load
方法中声明。
将您的代码更改为:
Public Class Form1
Dim dateEnd, dateStart As DateTime
Private Sub Form_load
然后,他们将可以使用表单访问所有方法。