|
Добавление картинок из 1с8 в Excel |
☑ |
0
bUbA
17.09.13
✎
16:10
|
При выгрузке в ексель надо в ячейки добавлять картинки. Посмотрел как это в макросе выглядит, в интернете глянул. Должно быть что то похожее на ЛистНовый.Pictures.Insert(Путь).Select(); или Эксель.ActiveSheet.Shapes.AddPicture();
но ни AddPicture, ни Pictures я нигде не нашел. В чем проблема может быть? Может есть другой метод?
|
|
1
mikecool
17.09.13
✎
16:14
|
Должно быть что то похожее на ЛистНовый.Pictures.Insert(Путь).
- может лучше запустить запись макроса и понять что к чему?
|
|
2
бомболюк
17.09.13
✎
16:23
|
все там есть:
Function AddPicture(Filename As String, LinkToFile As MsoTriState, SaveWithDocument As MsoTriState, Left As Single, Top As Single, Width As Single, Height As Single) As Shape
Member of Excel.Shapes
|
|
3
bUbA
18.09.13
✎
11:37
|
Ещё вопрос, добавить их получилось вот так
Excel.ActiveSheet.Cells(НомерСтрокиТаблицы, КоличествоКолонок + 2).Select();
Excel.ActiveSheet.Pictures.Insert(ПутьКФото);
//Excel.ActiveSheet.Pictures.Placement = 1;
//Excel.ActiveSheet.Pictures.PrintObject = Истина;
Excel.ActiveSheet.Pictures.ShapeRange.Height = Высота;
Excel.ActiveSheet.Pictures.ShapeRange.Width = Ширина;
Excel.ActiveSheet.Pictures.ShapeRange.PictureFormat.CropLeft = 5.2;
Excel.ActiveSheet.Pictures.ShapeRange.PictureFormat.CropTop = 5.2;
Excel.ActiveSheet.Pictures.ShapeRange.PictureFormat.CropBottom = 5.2;
Фото.RowHeight = Высота + 1;
но с ячейками куда они добавляются проблема, часть из низ вставляются в нужные ячейки, а другая часть скидывается в кучу в абсолютно ненужном месте, хотя координаты для select() все правильные
|
|
4
dk
18.09.13
✎
11:43
|
синхронизируй top и left ячейки и картинки в этой ячейке
|
|
5
bUbA
18.09.13
✎
12:01
|
(4) если речь идет об этом
Excel.ActiveSheet.Cells.Top = Excel.ActiveSheet.Pictures.Top;
Excel.ActiveSheet.Cells.Left = Excel.ActiveSheet.Pictures.Left;
то это не то
|
|
6
dk
18.09.13
✎
12:23
|
))
конечно не то
|
|
7
bUbA
18.09.13
✎
12:24
|
(6) а можно тогда чуть подробнее?
|
|
8
dk
18.09.13
✎
12:28
|
если пропустить твои знания VBA и корявость кода, то что-то вроде
Excel.ActiveSheet.Cells(НомерСтрокиТаблицы, КоличествоКолонок + 2).Select();
Фото1 = Excel.ActiveSheet.Pictures.Insert(ПутьКФото);
Фото1.Top = Excel.ActiveSheet.Cells(НомерСтрокиТаблицы, КоличествоКолонок + 2).Top;
Фото1.Left = Excel.ActiveSheet.Cells(НомерСтрокиТаблицы, КоличествоКолонок + 2).Left;
|
|
9
bUbA
18.09.13
✎
12:36
|
(8) ничего не поменялось...
|
|