Я использую 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, рабочая таблица снова «зафиксируется», и я не могу нажать ни на одну ячейку.
Есть идеи?