Шаг 187.
VBA в MSExcel. Практические приемы программирования на VBA. Тема: расчет амортизации. Практика (окончание)

    На этом шаге мы рассмотрим использование макрорекордера.

    При написании программ с внедренными графическими объектами лучше всего воспользоваться средством MacroRecorder.

    Итак, для активизации MacroRecorder выберите команду Сервис | Макрос | Начать запись (Tools | Macro | Record New Macro) и запустите MacroRecorder на запись. После задания всех параметров в появившемся диалоговом окне Запись макроса (Record Macro) и нажатия кнопки ОК появится плавающая панель инструментов с кнопкой Остановить запись (Stop Recording). Теперь все производимые действия будут записываться до тех пор, пока не будет нажата эта кнопка. Выполните построение объекта WordArt по следующему алгоритму:

  1. Нажмите кнопку Добавить объект WordArt (Insert WordArt) панели инструментов Рисование (Drawing).
  2. В появившемся окне Коллекция WordArt (WordArt Gallery) выберите нужный стиль надписи. Нажмите кнопку ОК.
  3. В появившемся окне Изменение текста WordArt (Edit WordArt Text) установите шрифт и размер отображаемого текста, а также в поле Текст (Text) введите текст, который будет отображаться, например Амортизация. Нажмите кнопку ОК.
  4. На рабочем листе появится внедренный объект WordArt. Выберите и перенесите его в требуемое место на этом листе.
  5. Для того чтобы разобраться, как происходит программное удаление объекта WordArt с рабочего листа, выделите его и удалите с помощью клавиши Delete.

    Перечисленные выше действия будут переведены MacroRecorder в следующий макрос.

Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 22.01.2014 (user)
'

'
    ActiveSheet.Shapes.AddTextEffect(msoTextEffect14, "Амортизация", "Impact", _
        18#, msoTrue, msoFalse, 166.5, 105#).Select
    Selection.ShapeRange.IncrementLeft 111#
    Selection.ShapeRange.IncrementTop -100.5
    ActiveSheet.Shapes("WordArt 1").Select
    Selection.Delete
End Sub

    Первые три инструкции этого макроса предназначены для создания объекта WordArt. Их просто надо скопировать в то место программы расчета амортизации, где создается этот объект. Две последние инструкции связаны с удалением объектов WordArt с рабочего листа. Подсказка со стороны MacroRecorder очень полезна, т.к. у объекта WordArt нет метода Delete. Удаляемый объект необходимо выбрать, что приведет к образованию объекта Selection. Удалять надо не непосредственно объект WordArt, а полученный указанным способом объект Selection. Эта идея как раз и реализована в данном приложении.

    На следующем шаге мы продолжим разработку приложений.




Предыдущий шаг Содержание Следующий шаг