Страницы: 1
RSS
Несовместимость макроса, Написанный в Excel 2010 не выполняется в 2007
 
Здравствуйте, уважаемые форумчане!

Неожиданно для себя столкнулся с проблемой несовместимости. Не выполняется изменение гиперссылки для фигуры, что успешно проделывалось в версии 2010.

Признаюсь сразу, макрос записывал. Когда попытался записать те же действия в 2007, макрос оказался пустым.
Код
ActiveSheet.Shapes.Range(Array("butt_p")).Select    Selection.ShapeRange.Item(1).Hyperlink.SubAddress = "Contents!B10"    Selection.ShapeRange.Item(1).Hyperlink.ScreenTip = "Вернуться к содержанию"

Заранее спасибо за помощь
 
Вот так будет работать:

Код
Sub test()
    ActiveSheet.Hyperlinks.Add ActiveSheet.Shapes("butt_p"), "", "Contents!B10", "Вернуться к содержанию"
End Sub
 
EducatedFool, спасибо! Работает.
Аналогичная проблема с простым удалением фигуры
Код
Sheets("RTobos_Ch").Activate
    ActiveSheet.Shapes.Range(Array("butt_n")).Select
    Selection.Delete
 
Аналогичное решение:
Код
ActiveSheet.Shapes("butt_n").Delete


или, если лист не активен на момент запуска макроса:
Код
Sheets("RTobos_Ch").Shapes("butt_n").Delete



Учитесь «чистить» код после макрорекордера - это несложно
(надо удалять всякие Select и Activate)
Изменено: EducatedFool - 07.02.2013 16:02:44
Страницы: 1
Читают тему
Наверх