|
Добавление нескольких картинок в word ...
|
|||
---|---|---|---|
#18+
Комрады, доброго всем времени суток. Никто не сталкивался? Дело было так, мейл-мёрдж документ, сначала хотели только одну: 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 не работает, лепит картинки куда попало ... зараннее благодарен за любую наводку ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2010, 23:40 |
|
|
start [/forum/topic.php?fid=15&msg=36733645&tid=1335919]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
81ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 499ms |
0 / 0 |