Excel VBA中對形狀的選擇和操作


Shapes對象是指定工作表上的所有Shape對象的集合。

  • 使用Shapes屬性可返回Shapes集合

Worksheets(1).Shapes.SelectAll

' ↑ 選定工作表一上的所有形狀。

  • 使用Shapes(index)可返回一個Shape對象。index是形狀的名稱或索引號。

Worksheets(1).Shapes(1).Fill.PresetGradient msoGradientHorizontal, 1, msoGradientBrass

' ↑ 設置工作表一上形狀一的預設陰影的填充。

  • 使用Shapes.Range(Index)可返回一個ShapesRange集合,該集合代表Shapes集合的一個子集。index是形狀的名稱或索引號。

Worksheets(1).Shapes.Range(Array(1, 3)).Fill.Patterned msoPatternHorizontalBrick

' ↑ 設置工作表一上形狀一和形狀三的填充圖案。

  • 形狀名稱和代碼名稱:形狀名稱是在工作表中選定該控件時名稱框中顯示的名稱;代碼名稱時在VBA界面屬性窗口中的名稱。新增添加控件時形狀名稱和代碼名稱是一致的默認名稱(例如ChechBox1),但后續更改一個的話、另一個不會自動同步改變。在事件過程中必須使用代碼名稱,在選擇控件時必須使用形狀名稱。

Shape對象代表繪圖層中的對象。例如自選圖形、任意多邊形、OLE對象或圖片。

  • 使用Selection.ShapeRange(index)可返回選定區域中的形狀的Shape對象。

Worksheets(1).Shapes(1).Flip msoFlipHorizontal

' ↑ 將工作表一上的形狀一進行水平翻轉。

Worksheets(1).Shapes("Rectangle 1").Flip msoFlipHorizontal

' ↑ 將工作表一上的名為“Rectangle 1”的形狀進行水平翻轉。

ActiveWindow.Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

' ↑ 設置活動窗口內選定區域中的第一個形狀的填充格式,假定至少選定了一個形狀。

  • 使用Name屬性可以返回或設置形狀的名稱。操作中發現可以給多個形狀起相同的名字,后續通過名字選擇和操作的時候只會針對第一個命名的那個形狀。

With Worksheets(1).Shapes.AddShape(msoShapeRectangle, 144, 144, 72, 72)

' ↑ 在工作表一中添加一個矩形
  .Name = "Red Square"

  ' ↑ 將其命名為“Red Squre”
  .Fill.ForeColor.RGB = RGB(255, 0, 0)

  ' ↑ 為其設置前景色
  .Line.DashStyle = msoLineDashDot

  ' ↑ 為其設置線條樣式
End With


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM