Как сделать фигуру невыборной? - PullRequest
0 голосов
/ 03 марта 2020

Я создаю небольшую надстройку для Excel, чтобы пометить выбранную строку и столбец прямоугольниками. Есть ли способ сделать их невыбираемыми? Должен ли я использовать что-то еще?

Часть кода, которая входит в ThisWorkbook надстройки:

Private ROW_SHAPE As Shape
Private COLUMN_SHAPE As Shape
Private Sub AddShapes(ByVal Sh As Object)
    VisibleRangeHeight = ActiveWindow.ActivePane.VisibleRange.Height
    VisibleRangeWidth = ActiveWindow.ActivePane.VisibleRange.Width
    SelectedCellHeight = Selection.Height
    SelectedCellWidth = Selection.Width
    If SelectedCellHeight > VisibleRangeHeight Then
        SelectedCellHeight = VisibleRangeHeight
    End If
    If SelectedCellWidth > VisibleRangeWidth Then
        SelectedCellWidth = VisibleRangeWidth
    End If
    CellPosLeft = Selection.Left
    CellPosTop = Selection.Top
    Set ROW_SHAPE = Sh.Shapes.AddShape(msoShapeRectangle, 1, CellPosTop, _
        VisibleRangeWidth + CellPosLeft, SelectedCellHeight)
    With ROW_SHAPE
        .Name = "row_shape"
        .Line.ForeColor.RGB = RGB(255, 0, 0)
        .Fill.Visible = msoFalse
        With .Shadow
           .Visible = True
           .Blur = 4
           .OffsetX = 1
           .OffsetY = 1
           .ForeColor.RGB = RGB(255, 0, 0)
        End With
    End With
    Set COLUMN_SHAPE = Sh.Shapes.AddShape(msoShapeRectangle, CellPosLeft, 1, _
        SelectedCellWidth, VisibleRangeHeight + CellPosTop)
    With COLUMN_SHAPE
        .Name = "column_shape"
        .Line.ForeColor.RGB = RGB(255, 0, 0)
        .Fill.Visible = msoFalse
        With .Shadow
           .Visible = True
           .Blur = 4
           .OffsetX = 1
           .OffsetY = 1
           .ForeColor.RGB = RGB(255, 0, 0)
        End With
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...