Как применить рамку к изображениям, вставленным как элементы Picture (Dim var as Picture) в лист Excel, используя VBA? - PullRequest
0 голосов
/ 03 июня 2019

Я хочу применить границу к изображениям, вставленным в лист Excel, используя переменную: Dim Pic as Picture из локального каталога (после его загрузки туда).

Я пытался найти на многих веб-сайтах справочную информацию в Интернете, но не помог, поскольку большинство из них относится к переменной Shape, а не к переменной Picture.

Нужно ли также использовать переменную формы или есть способ применить границу, как при вводе «Рис.» тогда я вижу доступную опцию Pic.border, но я не знаю, как ее использовать. Пожалуйста, помогите относительно этого.

.....
URLDownloadToFile 0, imgsrc, dlpath & code + ".jpg", 0, 0

Dim PicPath As String, Pic As Picture, ImageCell As Range

PicPath = dlpath & unique_code & ".jpg"

Set ImageCell = Cells(i, "C").MergeArea

Set Pic = ActiveSheet.Pictures.Insert(PicPath)
Rows(i).RowHeight = 160

With Pic
    .ShapeRange.LockAspectRatio = msoTrue
    .Left = ImageCell.Left
    .Top = ImageCell.Top
    .Width = ImageCell.Width
    .Height = ImageCell.Height
End With
.....

Необходимо применить границы к этим изображениям.

Я хочу заключить картинки в тонкие рамки. На данный момент они охватывают границы ячейки, частью которой они являются

1 Ответ

1 голос
/ 03 июня 2019

Чтобы добавить границу, скажем, ширины 1, измените свой кодовый раздел With следующим образом:

With Pic
    .ShapeRange.LockAspectRatio = msoTrue
    With .ShapeRange.Line
        .Visible = msoTrue
        .Weight = 1
    End With
    .Left = ImageCell.Left
    .Top = ImageCell.Top
    .Width = ImageCell.Width
    .Height = ImageCell.Height
End With

Вы можете добавить любые другие параметры границы во вложенном With.

...