|   |   | 
| 
 | Добавление картинок из 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 и корявость кода, то что-то вроде
 
 | |||
| 9
    
        bUbA 18.09.13✎ 12:36 | 
        (8) ничего не поменялось...     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |