Как изменить имя объекта с помощью for loop vba?

#vba #visio

#vba #visio

Вопрос:

Я хотел бы импортировать несколько изображений с помощью цикла for, используя таблицу в vba, но у меня проблема с именованным объектом. Я не знаю, как с этим справиться (озеро опыта):

 
Public Table_glob(1) As Variant



Sub Table_glob()
    table(0) = "toto"
    table(1) = "tata"

End Sub



Sub Insert()
    
    Call Table_glob
    
    For i = LBound(table) To UBound(table)
       Set shp_ amp; table(i) amp; = ActivePage.Import("C:UsersanthoDocuments" amp; table(i) amp;".png")
    Next i
    
End Sub
 

У меня есть сообщение об ошибке: «ожидается: =» на первом «amp;»

Комментарии:

1. Вы не можете «создать» такую переменную. Какова ваша конечная цель?

2. У меня есть привычки к python, и я только что вошел в vba, так что это шок, лол… Мне нужно импортировать определенные изображения с определенными координатами (X, Y) в MS Visio

3. Возможно, вы могли бы добавить каждое изображение в a Collection , создав уникальный ключ для каждого, аналогичный тому, что вы сейчас пытаетесь.

Ответ №1:

 Sub Insert()
Dim table(0 To 1) As Variant
Dim shp_table(0 To 1) As Variant

table(0) = "toto"
table(1) = "tata"

For i = LBound(table) To UBound(table)
Set shp_table(i) = ActivePage.Import("C:UsersanthoDocuments" amp; table(i) amp; ".png")
Next i

End Sub