Просматривают:
1 Анонимно
Corel и VBA |
||
|
||
---|---|---|
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
|
Любую функцию корела можно легко узнать поставив макрос на запись и выполнить требуемую операцию. Сохранить записанный макрос, открыть его для редактирования и посмотреть функцию)))
Гы))) С атриктекст у мну получилось: '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
|
у текстовых объектов текст в простейшем случае меняется так:
объект.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
|
ну я ж написал как любит VBA)) после Story должен быть еще один .Text
Опубликовано: 2010/7/26 17:08
|
|
|