Вставьте изображения с VBA - (не ссылка на них) - PullRequest
1 голос
/ 11 марта 2019

У меня есть некоторый код VBA, который добавляет изображения в электронную таблицу, и все хорошо, но когда я отправляю его извне, очевидно, что ссылки больше не будут работать, поскольку другого пользователя нет в моей сети

как я могуизмените этот код, чтобы вставить фактическое изображение в электронную таблицу вместо ссылки на него

Я знаю, что файл Excel в этом сценарии может иметь большой размер, но это небольшие миниатюры размером 20 КБ, которые я вставляю

Private Sub Worksheet_Change(ByVal Target As Range)

Dim myPict As Picture
Dim PictureLoc As String

    On Error GoTo EH
    Application.EnableEvents = False
    If Target.Column = 1 Then

        'Pictures.Delete

        PictureLoc = "\\ca-sbs-01\t\Shared\ExcelImages\" & Target.Value2 & ".jpg"


        With Target.Offset(, 1)
            Set myPict = ActiveSheet.Pictures.Insert(PictureLoc)
            .RowHeight = myPict.Height
            myPict.Top = .Top
            myPict.Left = .Left
            myPict.Placement = xlMoveAndSize
        End With

    End If
EH:
    Application.EnableEvents = True
End Sub

1 Ответ

1 голос
/ 11 марта 2019

Вы можете использовать метод Shapes.Addpicture следующим образом:

    Dim myPict as Shape
    With Target.Offset(, 1)
        Set myPict = Me.Shapes.AddPicture(Filename:=PictureLoc, linktofile:=msoFalse, savewithdocument:=msoCTrue, Left:=.Left, Top:=.Top, Width:=-1, Height:=-1)
    .RowHeight = myPict.Height
    End With
    myPict.Placement = xlMoveAndSize
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...