Здравствуйте!
Система 64-bit с версией офиса 64-bit.
Вставляю. в лист Excel объект Image из предлагаемой коллекции объектов ActiveX.
Изменяю значения свойств внедренного объекта через использование окна "Свойства" в режиме конструктора в опции меню "Разработчик":
1. Устанавливаю свойству BackStyle значение fmBackStyleTransparent (прозрачный фон)
2. Устанавливаю свойству BorderStyle значение fmBorderStyleNone (обрамления объекта невидимы) .
Все замечательно, объект становится прозрачным без рамок!
Теперь делаю тоже самое, но с использованием макроса.
Код макроса;
Не работает корректно! Границы объекта успешно не выделяются, но при этом фон объекта не становится прозрачным.
Почему?
Система 64-bit с версией офиса 64-bit.
Вставляю. в лист Excel объект Image из предлагаемой коллекции объектов ActiveX.
Изменяю значения свойств внедренного объекта через использование окна "Свойства" в режиме конструктора в опции меню "Разработчик":
1. Устанавливаю свойству BackStyle значение fmBackStyleTransparent (прозрачный фон)
2. Устанавливаю свойству BorderStyle значение fmBorderStyleNone (обрамления объекта невидимы) .
Все замечательно, объект становится прозрачным без рамок!
Теперь делаю тоже самое, но с использованием макроса.
Код макроса;
Код |
---|
Sub Proba() Dim I As Integer, EistOLEObj As OLEObject I = 1 'Определяем количество имеющихся на активном листе объектов ActiveX With ThisWorkbook.ActiveSheet For Each EistOLEObj In .OLEObjects I = I + 1 Next 'Добавляем на лист дополнительный объект ActiveX Image .OLEObjects.Add ClassType:="Forms.Image.1", _ DisplayAsIcon:=False, _ Left:=0, _ Top:=0, _ Width:=175, _ Height:=320 'Переопределяем имя добавленного объекта для последующего удобства обращения к нему .OLEObjects(I).Name = "TempImage" 'Устанавливаем свойства объекту, чтобы он был невиден пользвателю With .OLEObjects("TempImage") .Object.BackStyle = fmBackStyleTransparent .Object.BorderStyle = fmBorderStyleNone End With End With End Sub |
Почему?