我正在将Excel Introp用于.net应用程序,以将Excel工作簿嵌入Windows用户窗体中。
excApp.Visible = False
wb = excApp.Workbooks.Open(directOpenPath) ' , [ReadOnly]:=False, IgnoreReadOnlyRecommended:=True)
wb.Saved = True ' necessary to prevent Excel has stopped working error and to not actually do a save
hwnd1 = CType(excApp.Hwnd, IntPtr)
SetParent(excApp.Hwnd, pnlExcel.Handle)
SendMessage(excApp.Hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0)
MoveWindow(hwnd1, 0, 0, pnlExcel.Width, pnlExcel.Height, True)
excApp.Visible = True
当我使用上面的代码打开时,工作表上有ActiveX按钮可以正常工作。
但是,我希望使对象看起来不像Excel,因此我想隐藏功能区,公式栏等。
我添加了以下行:excApp.DisplayFullScreen = True。完成此操作后,单击按钮将不再启动关联的宏。此外,我无法再单击工作表中的任何单元格。这似乎是奇怪的行为,但我已将其追溯到DisplayFullScreen行。
我还试图包括以下内容:
excApp.ActiveWindow.DisplayWorkbookTabs = False
excApp.ActiveWindow.DisplayHeadings = False
excApp.ActiveWindow.DisplayGridlines = False
但是我得到一个未设置为引用错误的对象。如果添加excApp.ActiveWindow.Activate,工作表将再次“锁定”,并且无法单击任何单元格。 有任何想法吗?