Регистрация | | запомнить |
 
 
ВК



Просматривают:   1 Анонимно





Corel и VBA
print | #
Guest_
Уважаемые знатоки помогите кто может
Раскажу в чём суть: нужно сравнить данные(код товара)из 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

Опубликовано: 2010/7/26 15:28


Re: Corel и VBA
Пользователь 1 уровня
Присоединился:
2010/5/13 13:56
Откуда Московская обл.
Сообщений: 274
Offline
Любую функцию корела можно легко узнать поставив макрос на запись и выполнить требуемую операцию. Сохранить записанный макрос, открыть его для редактирования и посмотреть функцию)))

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

Опубликовано: 2010/7/26 15:31
_________________
Corel FOREWER!!!!!!!!!!!!


Re: Corel и VBA
Guest_
Я про тож))

Опубликовано: 2010/7/26 15:37


Re: Corel и VBA
Титан - модератор
Присоединился:
2006/4/8 19:42
Сообщений: 152
Offline
у текстовых объектов текст в простейшем случае меняется так:
объект.Text.Story.Text = "траляляля"

Опубликовано: 2010/7/26 16:16


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

Опубликовано: 2010/7/26 17:02


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

Опубликовано: 2010/7/26 17:04


Re: Corel и VBA
Титан - модератор
Присоединился:
2006/4/8 19:42
Сообщений: 152
Offline
ну я ж написал как любит VBA)) после Story должен быть еще один .Text

Опубликовано: 2010/7/26 17:08







Форма быстрого ответа
ЛогинИмя   Пароль   Логин
Сообщение:          

      ПРИМЕР


 [далее...]
Уведомлять о сообщениях в теме.



[Настройки поиска]