Как вывести идентификатор формы в Visio-VBA

Вот код в текстовой форме, если изображение не загружается:

Sub CommandButton1_Click()
   Dim NoIO As String
   Dim shp1 As Visio.Shape
   NoIO = ComboBox1.Value

   If NoIO = "7" Then
      MsgBox shp1.ID
      'Call test(shp1)'
      'Target shape id selected'
      'Change shape data of that shape'
   End If
   Unload Me
End Sub    

Всякий раз, когда я пытаюсь вывести идентификатор формы, я получаю ошибку:

Переменная объекта или переменная блока не установлена

Я не могу изменить параметры подпрограммы, так как я получаю несоответствие объявления процедуры, так как этот код запускается после нажатия кнопки на форме пользователя.

1 ответ

Вы не инициализировали форму shp1, Вы не указали, как вы выбираете свою форму или почему вы хотите выбрать форму, поэтому я привел простой пример ниже.

Sub CommandButton1_Click()
   Dim NoIO As String
   Dim shp1 As Visio.Shape
   NoIO = ComboBox1.Value

   Set shp1 = Application.ActivePage.Shapes(1) ' Example only!

   If NoIO = "7" Then
      MsgBox shp1.ID
   End If
   Unload Me
End Sub  
Другие вопросы по тегам