更改插入 Excel 工作表中的图像的名称框

更改插入 Excel 工作表中的图像的名称框

当您将图片插入 excel 工作表时,会自动获得图片 1、图片 2 等等......我有一个功能,当选择一张图片时,会在图片周围添加黑色边框。问题是,如果我在名为图片 1 的工作表上有两张图片,该函数将不知道在哪张图片 1 周围添加边框,因此可能会在错误选定的图像周围添加边框。

这是我在图像上添加边框的代码:

Private Function AddImageBorder(WhichSheet As String)

With ActiveWorkbook.Sheets(WhichSheet).Shapes(Selection.Name)
    .Line.Weight = 5
    .Line.Visible = msoTrue
End With

结束函数

答案1

我认为一个简单的解决方案是重命名您的图像。如何获得两个“Picture1”我无法理解,我不得不在 VBA 中重命名一个。无论如何,这里有一种方法可以对您的形状进行编号,这样就不会重叠 -

Sub NumberShapes()
    Dim shp As Shape
    Dim i As Long
    i = 1
    For Each shp In ActiveSheet.Shapes
        shp.Name = "Picture" & i
        i = i + 1
    Next
End Sub

就我个人而言,我会采取不同的做法,首先确定它是什么。

Option Explicit

Public Sub NumberShapes()
    Dim shp As Shape
    Dim i As Long
    i = 1
    For Each shp In ActiveSheet.Shapes
    If shp.Type = msoPicture Then
        shp.Name = "Picture" & i
        i = i + 1
    ElseIf shp.Type = msoChart Then
        shp.Name = "Chart" & i
        i = i + 1
    ElseIf shp.Type = msoTextBox Then
        shp.Name = "Textbox" & i
        i = i + 1
    End If
    Next
End Sub

使用此解决方案,您可以根据其用途来决定它们的名称类型是。

相关内容