Excel Interop - ошибка отображения полного экрана? - PullRequest
0 голосов
/ 05 ноября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...