|
|
|
|
#1 |
|
Участник
|
Цитата:
(Не знаю, принципиально ли то, что вместо ActiveSheet, в Наве я использую WorkSheet, как мне кажется, по сути это одно и то же)Так же, облазив инет, наткнулся и на такую штуку, отлично работающую в самом Экселе, огромным приемуществом оной является то, что через Picture, картинкой можно вертеть как угодно. Код: Dim PicRange As Range: Set PicRange = Range("A1:B2")
Dim ph As Picture: Set ph = PicRange.Parent.Pictures.Insert(PicturePath)
ph.Top = PicRange.Top: ph.Left = PicRange.LeftКод: Graphic := XlRange.Parent.Pictures.Insert(PicturePath);
|
|
|
|
|
#2 |
|
Участник
|
|
|
|
|
|
#3 |
|
Участник
|
Цитата:
Сейчас пока вижу только один выход: выгружать картинку из Нава в файл, в Эксель писать в ячейку какой-нибудь флаг и уже из самого экселя реагировать на этот флаг и самостоятельно загружать картинку через Pictures. Метод этот мне совершенно не нравится, поэтому если у кого есть какие соображения, как можно узнать размер картинки в Наве или как вставить в Эксель картинку оригинального размера, я бы с удовольствием их выслушал. |
|
|
|
|
#4 |
|
Участник
|
У нас работает вот это
xlShape := xlWorkSheet.Shapes.AddPicture(FileName, 1, 1, Left, Top, Width, Height); не помню, что это за 1, 1, но остальные аргументы - отступ слева, справа, ширина, высота. Не знаю, что будет если поиграться с аргументами ширина, высота или вообще не указывать их. |
|
|
|
|
#5 |
|
Участник
|
Цитата:
Сообщение от romeo
У нас работает вот это
xlShape := xlWorkSheet.Shapes.AddPicture(FileName, 1, 1, Left, Top, Width, Height); не помню, что это за 1, 1, но остальные аргументы - отступ слева, справа, ширина, высота. Не знаю, что будет если поиграться с аргументами ширина, высота или вообще не указывать их. Проблема только в том, что мне не известны оригинальные значения Width и Height картинки. И картинки у меня идут с различными соотношением высоты и ширины. А так бы отмасштабировал бы их в один размер и делов то. |
|
|
|
|
#6 |
|
Участник
|
У меня вопрос, который уже не касается картинок, но новую тему решил не создавать, т.к. вопрос опять же по Экселю.
И так, есть шаблон, в который выгружаются строки. Проблема в том, что строки эти группируются в отдельные блоки. У каждого такого блока есть хедер и футер. Т.е. сначала идёт строка с хедером, потом строки заказа, потом футер, потом снова хедер, другие строки заказа и т.д. Всё это красиво оформляется, разными цветами, границами... В чём собственно проблема. Проблема в том, что у меня 3 шаблона строки. А я не могу копировать строки в Экселе из Навижена Т.е. пока я рисую строки заказа, всё хорошо, при вставке новой строки, она копирует форматирование из предыдущей (первый хедер - он же шаблон, уже нарисован). Потом дело доходит до футера (он тоже уже есть т.к. является шаблоном). А вот потом мне нужно вставить хедер для другой пачки строк. Я хочу скопировать строку с моим шаблонным хедером, и вставить её, но у меня это не получается!Я делаю так: Код: xlRange := xlWorkSheet.Range ('A1');
xlRange.EntireRow.Copy;
xlRange := xlWorkSheet.Range ('A10')
xlRange.EntireRow.Insert;
|
|
|