VB.NET Excel VSTO NewWorkbook Event - PullRequest
       0

VB.NET Excel VSTO NewWorkbook Event

0 голосов
/ 14 февраля 2019

Я создаю надстройку для Excel и мне нужен код для запуска при создании новой книги.В AppEvents есть событие NewWorkbook, которое должно сработать, но Intellisense не показывает его, и я не могу заставить его работать, используя объектный браузер.Я нашел несколько мест в Интернете, например здесь , которые объясняют проблему, потому что есть также метод с тем же именем, так что Intellisense не может их различить и, следовательно, не помогает.К сожалению, в каждом месте, где я нахожу его, включая документацию Microsoft, есть только примеры на C #, и я не могу понять, как изменить его для работы с VB.

(я нашел похожий вопрос здесь при задании вопроса, но заголовок ссылается только на событие открытия рабочей книги, а не на новое событие рабочей книги, и я так и не нашел его в полный рабочий день поиска.)

1 Ответ

0 голосов
/ 14 февраля 2019

Мне удалось использовать онлайн-переводчик кода, чтобы преобразовать C # в достаточно близкое приближение к VB, чтобы я смог заставить его работать.

Private Sub ThisAddIn_Startup(sender As Object, e As EventArgs) Handles Me.Startup
    AddHandler CType(Application, Excel.AppEvents_Event).NewWorkbook, AddressOf Me.ThisWorkbook_NewWorkbook
End Sub

Private Sub ThisWorkbook_NewWorkbook(ByVal Wb As Microsoft.Office.Interop.Excel.Workbook)
    MsgBox("New workbook" + Wb.Name)
End Sub

Способ, которым это работает, заключается в добавлении вручнуюобработчик события Application.NewWorkbook, указывающий на пользовательскую процедуру, которая будет обрабатывать событие.

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