Я хочу управлять свойствами ActiveX многих элементов управления ActiveX на рабочем листе (например, image1.picture или другими подобными свойствами).
Возможно ли это с помощью кода Excel VBA с использованием OLEobjects или Shapes или любого другого объекта, который принимает имя переменной в коде, чтобы это имя переменной можно было изменить с помощью цикла For, последовательно реплицируя все имена ActiveX Элементы управления, которые я хочу отформатировать?
Я пытаюсь назначить свойства элементам управления Activex на листе, используя код VBA. Элементы управления ActiveX представляют собой множество меток и изображений на листе и имеют последовательные имена (т. Е. Image1, Image2, ..., Label1, Label2 и т. Д.).
Я хотел бы использовать цикл For (для i = от 1 до n), чтобы я мог назначать конкретные свойства для каждого изображения (i) и метки (i) в контрольном листе в соответствии с конкретным индексом (i).
Я не могу использовать OLEобъекты или фигуры, потому что они не поддерживают свойства, которые я хотел бы назначить.
With ActiveSheet.oleobjects(variable_name)
.Width = variable_width <----- OK, this works
.Height = variable_height <----- OK, this works
.BackStyle = fmBackStyleTransparent <----- Doesn't work
.BorderStyle = fmBorderStyleNone <----- Doesn't work
.Picture = LoadPicture(path_filename) <----- Doesn't work
End With
.Backstyle
, .Borderstyle
и .Picture
не поддерживаются, и сообщение об ошибке
«Ошибка времени выполнения 438: объект не поддерживает это свойство»
Как я могу управлять этими свойствами с помощью объекта, имя которого может быть выражено с помощью переменной (имя_переменной), что позволяет назначать свойства стольких элементов управления ActiveX на листе только с помощью цикла For, избегая ввода всех их имена в коде VBA?