Excel 如何使用工作簿自动激活应用程序类事件
我需要工作簿激活应用程序类事件代码,它可以在激活工作簿时最小化“工作簿窗口” 因此,每当激活Excel 如何使用工作簿自动激活应用程序类事件,excel,vb.net,excel-interop,Excel,Vb.net,Excel Interop,我需要工作簿激活应用程序类事件代码,它可以在激活工作簿时最小化“工作簿窗口” 因此,每当激活C:\Book1.xlsx时,将“工作簿窗口”最小化 以下代码仅用于测试开始 Imports Microsoft.Office.Interop Public Class Form1 Public WithEvents wb1 As Excel.Workbook Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handle
C:\Book1.xlsx
时,将“工作簿窗口”最小化
以下代码仅用于测试开始
Imports Microsoft.Office.Interop
Public Class Form1
Public WithEvents wb1 As Excel.Workbook
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim xlApp As New Excel.Application
xlApp.Visible = True
Threading.Thread.Sleep(10000)
Dim wb1 As Excel.Workbook
wb1 = xlApp.Workbooks.Open("C:\Book1.xlsx")
Threading.Thread.Sleep(100000000)
End Sub
End Class
以下链接可能支持您
要做的第一件事是将
xlApp
的声明移动到类级别,并用事件声明:
Private WithEvents xlApp As New Excel.Application
现在,我们可以利用Excel.Application
附带的事件,特别是:
在激活任何工作簿窗口时发生
以及:
调整任何工作簿窗口的大小时发生
如您所见,在这些处理程序中,我将WindowState
属性设置为xlMinimized
。这意味着每当我尝试打开工作簿时,它就会再次最小化
总的来说,您的代码看起来与此类似:
Public Class Form1
Private WithEvents xlApp As New Excel.Application
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
xlApp.Visible = True
Dim wb1 As Excel.Workbook
wb1 = xlApp.Workbooks.Open("C:\Book1.xlsx")
End Sub
Private Sub xlApp_WindowActivate(Wb As Excel.Workbook, Wn As Excel.Window) Handles xlApp.WindowActivate
xlApp.WindowState = Excel.XlWindowState.xlMinimized
End Sub
Private Sub xlApp_WindowResize(Wb As Excel.Workbook, Wn As Excel.Window) Handles xlApp.WindowResize
xlApp.WindowState = Excel.XlWindowState.xlMinimized
End Sub
End Class
Private Sub xlApp_WindowResize(Wb As Excel.Workbook, Wn As Excel.Window) Handles xlApp.WindowResize
xlApp.WindowState = Excel.XlWindowState.xlMinimized
End Sub
Public Class Form1
Private WithEvents xlApp As New Excel.Application
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
xlApp.Visible = True
Dim wb1 As Excel.Workbook
wb1 = xlApp.Workbooks.Open("C:\Book1.xlsx")
End Sub
Private Sub xlApp_WindowActivate(Wb As Excel.Workbook, Wn As Excel.Window) Handles xlApp.WindowActivate
xlApp.WindowState = Excel.XlWindowState.xlMinimized
End Sub
Private Sub xlApp_WindowResize(Wb As Excel.Workbook, Wn As Excel.Window) Handles xlApp.WindowResize
xlApp.WindowState = Excel.XlWindowState.xlMinimized
End Sub
End Class