Быстрая вставка-замена в Кореле-Нужна автоматизация

  • Автор темы Автор темы olegzbf
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

olegzbf

Участник
Топикстартер
Сообщения
1
Реакции
0
Подскажите, как можно автоматизировать такой процесс:
Нужно заменить во множестве однотипных файлах один текстовый блок другим. Ну, скажем один номер телефона на другой и сохранить?
 
Ответ: Быстрая вставка-замена в Кореле-Нужна автоматизация

Копаем в
FindShapes
TextRange.Replace

ну и посмотреть FileConverter.gms чтобы понять как открывать файлы охапкой
 
Ответ: Быстрая вставка-замена в Кореле-Нужна автоматизация

Меняй данные в разделе костант, или переделай с формами и вперед. Правда не тестировал, проверил в одной директории -- отработало...
Код:
Sub temp_2()
Const myPath = "D:\Temp\"
Const myFormatFile = "*.cdr"
Const myFindText = "017 200 200"
Const myReplaceText = "017 211 201"

Dim myArrOpen As String
Dim s As Shape, p As Page
myArrOpen = ""
ddd = VBA.Dir(myPath & myFormatFile, vbNormal)
I = 1
While Not ddd = ""
 myArrOpen = myArrOpen & ddd & Chr(124)
 ddd = VBA.Dir
Wend

myArrOpen = Left(myArrOpen, Len(myArrOpen) - 1)
For Each ddd In Split(myArrOpen, Chr(124))
 Application.OpenDocument(myPath & ddd).Activate
 For Each p In ActiveDocument.Pages
  For Each s In p.Shapes.FindShapes(Type:=cdrTextShape)
   s.Text.Replace myFindText, myReplaceText, False, 1, True, True
  Next s
 Next p
 ActiveDocument.Save
 ActiveDocument.Close
Next ddd
End Sub
 
  • Спасибо
Реакции: BASMACH
Статус
Закрыто для дальнейших ответов.