Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何声明全局变量以从任务管理器中删除第二个EXCEL.EXE_Excel_Vb.net_Excel Interop - Fatal编程技术网

如何声明全局变量以从任务管理器中删除第二个EXCEL.EXE

如何声明全局变量以从任务管理器中删除第二个EXCEL.EXE,excel,vb.net,excel-interop,Excel,Vb.net,Excel Interop,以下代码在任务管理器中打开两个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 Fo

以下代码在任务管理器中打开两个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
导入Microsoft.Office.Interop
公开课表格1
私有子表单1_Load(发送方作为对象,e作为System.EventArgs)处理Me.Load
'从任务管理器中杀死所有EXCEL.EXE进程
对于每个prog As Process In Process.GetProcessesByName(“EXCEL”)中的进程
程序Kill()
下一个
Dim FirstxlApp作为新Excel.Application“在任务管理器中打开第一个Excel.EXE
Dim datestart As Date=日期。现在
Dim SecondxlApp作为新Excel.Application“在任务管理器中打开第二个Excel.EXE
Dim DATEND As Date=日期。现在
SecondxlApp.Visible=True
将wb1设置为Excel.工作簿
wb1=SecondxlApp.Workbooks.Open(“C:\Book1.xlsx”)
端接头
私有子窗体1\u FormClosing(发件人作为对象,e作为System.Windows.Forms.FormClosingEventArgs)处理Me.FormClosing
Dim xlp()作为Process=Process.getProcessByName(“EXCEL”)
对于每个流程,将其作为xlp中的流程

如果Process.StartTime>=datestart和Process.StartTime您的变量
dateEnd
datestart
FormClosing
方法隐藏,因为它们仅在
Form\u Load
方法中声明

将代码更改为:

公共类表单1
Dim DATEND,dateStart为DateTime
专用子表单加载

然后,表单中的所有方法都可以访问它们