- Сообщения
- 2
- Реакции
- 0
Уважаемые знатоки помогите кто может
Раскажу в чём суть: нужно сравнить данные(код товара)из Excel с Corel и если они совпадают скопировать данные из Excel и вставить в Corel
(цена товара). Я это сделал так: из Corel по средствам макроса открываю Excel файл, записываю 2 столбца (код товара и его цена) в массив,
Потом перебираю первый столбец массива и ищу его значение в corel если нахожу заменяю значение на цену.
Проблема в том, что не знаю как в Corel VBA написать замену текста
Вот код:
Раскажу в чём суть: нужно сравнить данные(код товара)из 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