Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Добавление нескольких картинок в word ... / 2 сообщений из 2, страница 1 из 1
09.07.2010, 23:40
    #36733645
voronk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление нескольких картинок в word ...
Комрады, доброго всем времени суток.

Никто не сталкивался?

Дело было так, мейл-мёрдж документ, сначала хотели только одну:

ole_1 = CREATE oleobject
ole_1.Connecttonewobject('word.application')
ole_1.Documents.Open(s_filename, TRUE, AsStatement!)
ole_1.ActiveDocument.MailMerge.MainDocumentType
ole_1.ActiveDocument.MailMerge.Execute

// теперь ищу букмарк в документе ...
ole_1.Selection.Find.Text = '&bookmark&'
ole_1.Selection.Find.Execute()

IF ole_1.Selection.Find.Found THEN
ole_1.Selection.TypeText('1')
ole_1.Selection.TypeBackspace
ole_pic = ole_1.ActiveDocument.InLineShapes.AddPicture(s_filename2, FALSE, TRUE, ole_1.Selection.Range)

// ну и дальше резайз в зависимости от размера который они хотят и т.д.

d_h = ole_pic.height
d_w = ole_pic.width

if d_w > d_h then
d_h = round(((i_d_cv_imagesz * d_h) / d_w), 0)
d_w = round(i_d_cv_imagesz, 0)
else
d_h = i_d_cv_imagesz
d_w = round(((i_d_cv_imagesz * d_w) / d_h), 0)
end if

ole_pic.LockAspectRatio = true
ole_pic.Height = d_h
ole_pic.Width = d_w

ole_null = ole_pic.ConvertToShape
ole_null.WrapFormat.Side = 1
ole_null.WrapFormat.Type = 1
ole_null.LockAnchor = True

end if


теперь хотят больше чем одну, т.е. теперь у меня появилалась ешё одна датавинда dw_2 в которой я возврашаю лист пойнтеров на пикчи.

как бы их аккуратненько друг за дружкой разместить?
т.е. и ресайз сотворить, и что бы рядышком были?


я пытался что-то типа такого:

FOR l_row3 = 1 TO dw_2.RowCount()
s_filename2 = dw_2.GetItemString(l_row3, 'filename')

IF FileExists(s_filename2) THEN
ole_pic[l_row3] = ole_1.ActiveDocument.InLineShapes.AddPicture(s_filename2, FALSE, TRUE, ole_1.Selection.Range)
end if
next



For i_knt = 1 To upperbound(ole_pic[]) //ole_1.ActiveDocument.InlineShapes.Count
d_h = ole_pic[i_knt].height
d_w = ole_pic[i_knt].width

if d_w > d_h then
d_h = round(((i_d_cv_imagesz * d_h) / d_w), 0)
d_w = round(i_d_cv_imagesz, 0)
else
d_h = i_d_cv_imagesz
d_w = round(((i_d_cv_imagesz * d_w) / d_h), 0)
end if

ole_pic[i_knt].LockAspectRatio = true
ole_pic[i_knt].Height = d_h
ole_pic[i_knt].Width = d_w

ole_pic2[i_knt] = ole_pic[i_knt].ConvertToShape
ole_pic2[i_knt].WrapFormat.Side = 1
ole_pic2[i_knt].WrapFormat.Type = 1
ole_pic2[i_knt].LockAnchor = True
next

не работает, лепит картинки куда попало ...

зараннее благодарен за любую наводку
...
Рейтинг: 0 / 0
11.07.2010, 20:11
    #36734905
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление нескольких картинок в word ...
Наверное сначала аккуратно расставить надписи или таблицу
Может HTML сформировать и Вордом открыть
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Добавление нескольких картинок в word ... / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]