Добавить изображение Комментарий Excel 16 на Mac OSX - VBA - PullRequest
0 голосов
/ 20 сентября 2019

Мне нужна твоя помощь!Я прочитал много форумов и протекторов, но, к сожалению, я не нашел решения.

Мне нужно создать макрос, работающий на Excel для Mac, который выбирает изображение из URL и вставляет его вкомментарий.

Заранее спасибо

Вот макрос, который хорошо работает в Windows, но не в Mac OSX.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim rngToCheck As Range
    Dim n As Integer
    Dim pic_file As String
    Dim pict1 As Picture
    n = Cells(Rows.Count, 1).End(xlUp).Row
    If n = 0 Then Exit Sub
    Set rngToCheck = Range(Cells(1, 2), Cells(n + 1, 2))
    On Error Resume Next
    If Intersect(ActiveCell, rngToCheck) Is Nothing Then
        'do nothing
    Else
        Application.EnableEvents = False
        ActiveCell.Comment.Delete
       ' pic_file = "http://xxx.xxx.com" & CStr(Cells(ActiveCell.Row, 1).Value) & ".jpg"

        pic_file = "http://xxx.xxx.com" & CStr(Cells(ActiveCell.Row, 1).Value) & ".jpg"


        Set pict1 = ActiveSheet.Pictures.Insert(pic_file)
        If Not pict1 Is Nothing Then On Error Resume Next
            If ActiveCell.Comment Is Nothing Then ActiveCell.AddComment
                With ActiveCell.Comment.Shape
                   .Fill.Visible = msoTrue
                   .Fill.UserPicture (pic_file)
                   If (pict1.Width < pict1.Height) Then
                     .Height = 200
                     .Width = pict1.Width / pict1.Height * 200
                   Else
                     .Width = 200
                     .Height = pict1.Height / pict1.Width * 200
                   End If
                End With
            ActiveCell.Comment.Visible = False
            'ActiveSheet.Shapes.SelectAll
            pict1.Delete

            'Selection.Delete
            Application.CutCopyMode = False
            Application.EnableEvents = True
      '  End If
    End If


End Sub

В вдовах все работает нормально, в Mac I 'только пустые желтые поля для комментариев.

...