Проблема установки формы пользователя в качестве надстройки в Excel и Word
Я создал форму пользователя vba, которая будет отображаться, когда я хочу распечатать что-то из exel или word. Но мне трудно установить его как надстройку (поэтому он будет применяться ко всем документам office, которые я пытаюсь распечатать).
Я нашел аналогичный вопрос и использовал код для установки, упомянутый там, но он дал мне ошибку.
Вот ссылка: Как создать макрос, который откроет форму пользователя из надстройки, не открывая книгу
Вот ошибка:
Есть ли что-нибудь, что я могу сделать, чтобы решить эту проблему? Я новичок в vba, и любая помощь будет высоко оценена.Произошла непредвиденная ошибка, пожалуйста, свяжитесь с CSC DM
Проектирование с приведенными ниже деталями ошибок.
Модуль = UserfulGeneric Code
Процедура = CreateMMMacroMenu
Строка = 0
Код Ошибки = 91
Текст ошибки = объект проверяемый или с блоковой переменной не установлен
1 ответ:
Это оказывается довольно просто для Excel:
Чтобы продемонстрировать, файл TestAddIn.xlam создается с помощью ThisWorkbook.IsAddin = True , пользовательская форма и коды в модуле
ThisWorkbook
.
Коды в модуле ThisWorkbook :Option Explicit Private WithEvents App As Application Private Sub App_WorkbookBeforePrint(ByVal Wb As Workbook, Cancel As Boolean) 'Debug.Print Now & " " & "App_WorkbookBeforePrint: " & Wb.FullName UserForm1.Show End Sub Private Sub Workbook_Open() Set App = Application 'Debug.Print Now & " " & "Loading " & ThisWorkbook.FullName End Sub
UserForm1 :Option Explicit Private Sub UserForm_Initialize() Me.TextBox1.Text = ActiveWorkbook.FullName End Sub
Теперь убедитесь, что вы добавляете эту надстройку обычно через пользовательский интерфейс Excel или используете VBA для установки в Превосходить. Но вам нужно перезапустить Excel после этого.При печати новой рабочей книги: форма пользователя отображается до того, как она будет напечатана.