Поиск и замена текста в COREL DRAW с помощью макроса


Появилась задача

Пройти по листу COREL DRAW, найти все текстовые элементы, найти в них текст и заменить на некоторый другой.

Возьмем, к примеру, вот такой файл, состоящий из кривых и фигурного текста. У нас есть числа, к ним надо добавить 0 в конце (умножить на 10). Это на самом деле очень просто, ниже код, который можно повесить на кнопку макроса:

Dim sr As ShapeRange
Dim s As Shape
Dim str As String

Set sr = ActiveSelectionRange

For Each s In sr
    If s.Type = cdrTextShape Then
        str = s.Text.Story
        str = str + "0"
        s.Text.Story = str
    End If
Next s

MsgBox "ok!"
Что он делает:
  • проходит по всем выбранным элементам
  • определяет является ли шейп текстом
  • берет текст шейпа
  • прибавляет к тексту 0
  • устанавливает новый текст элемента


Работа с Corel Draw не является моей основной специальностью, да даже и дополнительной её назвать сложно, но все же иногда приходится помогать заказникам решать вот такие несложные задачи.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, vba, coreldraw, макросы

Обсудить или задать вопрос по этой или любой другой теме можно на нашем форуме



Рекурсия папок с помощью C#
Простое голосование на сайт
История одной и решение любой проблемы с сайтом