Есть ли возможность вставки на листе фотографий (расположенных, например, в неко папке), с автоматическим изменением их размера, чтобы на 1-й стр (при печати) размещалось бы нужное количество фоток (2-6)в конкретно установленных местах (чтобы они не сливались друг с другом иначе потом двигать придется)? :-)
Пользователь
Сообщений: Регистрация: 23.12.2012
28.01.2010 18:40:54
Да, такая возможность есть.
Пример можно поглядеть в этой теме:
Можно даже обрезать изображения перед вставкой:
Private Sub test0982039482() Dim cell As Range: Set cell = ActiveCell Dim sh As Worksheet: Set sh = ActiveSheet Dim filename As String, ph As Picture filename = "C:\Documents and Settings\Игорь\Рабочий стол\img_1857716.jpg" Set ph = ВставитьКартинку(cell, filename) CropPicture ph, cell, 19, 12, 110, 6 End Sub
Function CropPicture(ByRef pic As Picture, ByRef cell As Range, _ Optional ByVal CropLeft As Integer = 0, Optional ByVal CropRight As Integer = 0, _ Optional ByVal CropTop As Integer = 0, Optional ByVal CropBottom As Integer = 0) As Shape
Dim sha As Shape: Set sha = pic.TopLeftCell.Worksheet.Shapes(pic.Name) h = sha.Height: w = sha.Width If CropTop Then sha.PictureFormat.CropTop = CropTop / 100 * h If CropBottom Then sha.PictureFormat.CropBottom = CropBottom / 100 * h
If CropLeft Then sha.PictureFormat.CropLeft = CropLeft / 100 * w If CropRight Then sha.PictureFormat.CropRight = CropRight / 100 * w sha.Top = cell.Top: sha.Left = cell.Left sha.Width = cell.Width: sha.Height = cell.Height End Function
Пользователь
Сообщений: Регистрация: 23.12.2012
28.01.2010 18:45:34
Можно также макросом в цикле вставлять картинки в нужные ячейки, и расставлять разрывы страниц, чтобы получалось что-то вроде этого:<BR> <BR>Готовое решение предложить не могу, поскольку нет примера файла.
Шогин
Гость
29.01.2010 10:23:42
Ваш последний пример (изображение) как раз то, что нужно. Речь идет о следующем: делаются фотографии объектов. Естественн, чтобы не путаться, каждый объект в свое папке. При этом фотки могут иметь разное разрешение (размер), и разное расположение (ландшафтная или вертикальн). Возможно ли автоматизаровать процеесс вставки фоток в лист таким образом, чтобы пользователь только указывал путь к папке, а процесс происходил автоматически по следующим параметрам: уменьшение размера фоток с тем, чтобы на одной странице размещалось определенное пользователем число, ландшафтные располагались бы с ландшафтными, а вертикальные с вертикальными?
Пользователь
Сообщений: Регистрация: 23.12.2012
29.01.2010 16:15:20
Конечно, можно. Все это можно реализовать макросами.
Примерно то же самое делает макрос, сформировавший представленный на скриншоте файл. Код выкладывать не буду - не потому, что жалко, а потому, что вы не сможете его адаптировать под свою задачу (его надо переписывать "с нуля")
Могу сделать вам этот макрос, но не бесплатно (работы много) Если надумаете - контакты в подписи.
Если ждёте бесплатной помощи - выкладывайте файлы на сторонний файлообменник, и в сообщении указывайте ссылки на эти файлы.
Как минимум нужно: 1) Папка с фотками ( с сохранением структуры - вложенности файлов и подпапок) 2) Пример исходного файла excel 3) Пример того, что должно получиться в результате работы макроса