Использование VBA для задания формулы фигуры / рисунка - PullRequest
0 голосов
/ 03 марта 2020

Я хотел бы установить формулу для изображения с помощью VBA.

Это часть упрощенной версии VBA, используемой для вставки и изменения формы / изображения из заданного URL.

    Dim theShape As Shape
    Filename = cell

        ' Use Shapes instead so that we can force it to save with the document
        Set theShape = ActiveSheet.Shapes.AddPicture( _
            Filename:=Filename, linktofile:=msoFalse, _
            savewithdocument:=msoCTrue, _
            Left:=cell.Left, Top:=cell.Top, Width:=60, Height:=60)

        With theShape
            .LockAspectRatio = msoTrue
            ' Shape position and sizes stuck to cell shape
            .Top = cell.Top + 1
            .Left = cell.Left + 1
            .Height = cell.Height - 2
            .Width = cell.Width - 2
            ' Move with the cell (and size, though that is likely buggy)
            .Placement = xlMoveAndSize
            .Name = "Item" & cell.Row

            '******What to enter here to set the "Formula" for the picture?
            'Trying to set the formula to an existing named range, such as "FQPic3"
            'Something like: .formula = FQPic3

        End With

Однако я не вижу свойства изображения для установки формулы.

Спасибо.

1 Ответ

0 голосов
/ 03 марта 2020

Это позволит вам установить формулу:

Dim theShape As Shape
Filename = cell

    ' Use Shapes instead so that we can force it to save with the document
    Set theShape = ActiveSheet.Shapes.AddPicture( _
        Filename:=Filename, linktofile:=msoFalse, _
        savewithdocument:=msoCTrue, _
        Left:=cell.Left, Top:=cell.Top, Width:=60, Height:=60)

    With theShape
        .LockAspectRatio = msoTrue
        ' Shape position and sizes stuck to cell shape
        .Top = cell.Top + 1
        .Left = cell.Left + 1
        .Height = cell.Height - 2
        .Width = cell.Width - 2
        ' Move with the cell (and size, though that is likely buggy)
        .Placement = xlMoveAndSize
        .Name = "Item" & cell.Row

        '******What to enter here to set the "Formula" for the picture?
        'Trying to set the formula to an existing named range, such as "FQPic3"
        'Something like: .formula = FQPic3
        theShape.OLEFormat.Object.Formula = "=FQPic3"

    End With

Примечание: не проверял остальную часть вашего кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...