V-Форум / Corel VBA / Тема: Corel и VBA

Corel и VBA

 26/07/2010 15:28:30 #Link

Гость

Уважаемые знатоки помогите кто может
Раскажу в чём суть: нужно сравнить данные(код товара)из Excel с Corel и если они совпадают скопировать данные из Excel и вставить в Corel
(цена товара). Я это сделал так: из Corel по средствам макроса открываю Excel файл, записываю 2 столбца (код товара и его цена) в массив,
Потом перебираю первый столбец массива и ищу его значение в corel если нахожу заменяю значение на цену.
Проблема в том, что не знаю как в Corel VBA написать замену текста
Вот код:
Sub GET_DATA1()
Dim EXCELAPP As Object
Dim EXCEL_DATA_FILE As String
Dim s As Shape
Dim sh As Shape
Dim p As Page
Dim q As Integer
q = 1
aa = ActiveDocument.Pages.Count
EXCEL_DATA_FILE = "123.xls"
Set EXCELAPP = CreateObject("excel.application"
EXCELAPP.Visible = False
EXCELAPP.Workbooks.Open (ActiveDocument.FilePath & "\" & EXCEL_DATA_FILE)
Dim a(10, 2)
For i = 1 To 10
a(i, 1) = EXCELAPP.ActiveWorkbook.Worksheets("Лист1".Cells(i, 1).Value
a(i, 2) = EXCELAPP.ActiveWorkbook.Worksheets("Лист1".Cells(i, 2).Value
Next

'EXCELAPP.Visible = True
For j = 1 To aa
Set p = ActiveDocument.Pages(j)
Set s = p.FindShape(Name:=a(q, 1), Type:=cdrTextShape)
If s Is Nothing Then
Else

MsgBox "Yes "
Set s = ActiveLayer.CreateArtisticText(s.PositionX, s.PositionY, a(q, 2))

End If
q = q + 1
Next
End Sub

Re: Corel и VBA

 26/07/2010 15:31:11 #Link

MAPUTO

Любую функцию корела можно легко узнать поставив макрос на запись и выполнить требуемую операцию. Сохранить записанный макрос, открыть его для редактирования и посмотреть функцию)))

Гы))) С атриктекст у мну получилось:
'The recording of this command is not supported

Re: Corel и VBA

 26/07/2010 15:37:39 #Link

Гость

Я про тож))

Re: Corel и VBA

 26/07/2010 16:16:11 #Link

wOxxOm

у текстовых объектов текст в простейшем случае меняется так:
объект.Text.Story.Text = "траляляля"

Re: Corel и VBA

 26/07/2010 17:02:32 #Link

Гость

Я написал так
s.Text.Story = a(q, 2)

Re: Corel и VBA

 26/07/2010 17:04:06 #Link

Гость

Единственно не понял разницу между
s.Text.Story = a(q, 2)
и
s.Text.Story.Lines.First.Text = a(q, 2)

Re: Corel и VBA

 26/07/2010 17:08:03 #Link

wOxxOm

ну я ж написал как любит VBA)) после Story должен быть еще один .Text

Источник: https://powerclip.ru/modules/newbb/viewtopic.php?topic_id=9523&start=0

Rambler's Top100