用macros内部表单显示Excel工作表

我在.net中获得了应用程序,并且想要在窗体中显示带有macros的Excel表格。 我发现代码显示面板内的Excel文件,一切正常,但一旦我运行macros冻结。 如果我不会运行macros它的工作正常。

Imports excel = Microsoft.office.interop.excel Imports office = Microsoft.office.core Public Class Form1 Declare Auto Function SetParent Lib "user32.dll" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Integer Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer Private Const WM_SYSCOMMAND As Integer = 274 Private Const SC_MAXIMIZE As Integer = 61488 Private Sub btnShowExcel_Click(sender As Object, e As EventArgs) Handles btnShowExcel.Click Dim sExcelFileName = "D:\123.xlsm" Dim oExcel As New Excel.Application oExcel.DisplayAlerts = False oExcel.Workbooks.Open(sExcelFileName) oExcel.Application.WindowState = excel.XlWindowState.xlNormal oExcel.Visible = True SetParent(oExcel.Hwnd, pnlExcel.Handle) SendMessage(oExcel.Hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0) End Sub End Class 

任何人都可以帮助我改变这个代码或find不同的代码,所以我可以用macros和macros显示Excel文件,将没有任何问题的工作。

谢谢关心马克