VBA在文檔中添加圖形及填充顏色

2022年09月07日08:07:03 科技 1543

分享成果,隨喜正能量】老天不給你困難,你又如何看透人心;老天不給你失敗,你又如何發現身邊的人是真是假;老天不給你孤獨,你又如何反思自省;老天不給你生命中配上君子和小人,你又如何懂得提高智商!。

《VBA之Word應用》,是我推出第八套教程,教程是專門講解VBA在Word中的應用,圍繞「面向對象編程」講解,首先讓大家認識Word中VBA的對象,以及對象的屬性、方法,然後通過實例讓大家感受到Word VBA 的妙處。本套教程共三冊十六章,今日內容為第九章:Shapes對象和Shape對象的第4節:VBA在文檔中添加圖形及填充顏色

VBA在文檔中添加圖形及填充顏色 - 天天要聞

第四節 Shape對象的屬性(一)

大家好,我們這節開始Shape對象的屬性講解,Shape對象代表繪圖層中的對象,例如自選圖形、任意多邊形、OLE 對象、ActiveX 控制項或圖片。Shape對象是Shapes集合的成員, 其中包括文檔的主要部分或文檔的所有頁眉和頁腳中的所有形狀。

有三個代表形狀的對象:

1)Shapes集合,該集合代表文檔中的所有形狀;

2)ShapeRange對象,表示文檔中的形狀的指定子集。例如, shaperange對象可以代表文檔中的第一和第四個形狀, 也可以代表文檔中的所有選定形狀;

3)Shape對象, 該對象代表文檔中的單個形狀。

如果您需要同時處理幾個形狀,或處理選定區域中的多個形狀,請使用 ShapeRange 集合。

本講將給大家講解Shape對象的AutoShapeType屬性、CanvasItems 屬性、Fill屬性。

1 Shape.AutoShapeType屬性

該屬性返回或設置指定的shape對象的圖形類型, 該對象不是代表線條或任意多邊形, 而是代表自選圖形。MsoAutoShapeType 類型(這個枚舉值在第二節有介紹)

語法:expression.AutoShapeType

其中expression 是必須的,代表一個Shape對象的變數.

  • 改變一個形狀的類型時,該形狀保留其大小、顏色和其他屬性。

2 Shape.CanvasItems屬性

該屬性返回一個CanvasShapes對象, 該對象代表繪圖畫布上的形狀的集合。

語法:expression.CanvasItems

其中expression 是必須的,代表一個Shape對象的變數。

3 Shape.Fill屬性

該屬性返回一個FillFormat對象, 該對象包含指定形狀的填充格式屬性。 此為只讀屬性。

語法:expression.Fill

其中expression 是必須的,代表一個Shape對象的變數.

4 實例:圖形的添加及顏色的填充

這節我們給大家展示一個實例,這個實例中先在活動文檔中創建一個新的繪圖畫布,並在其上添加一個圓和16角星型。然後向 myDocument 添加一個矩形,然後為其設置前景色、背景色和矩形填充的漸變類型,最後將活動文檔中的所有16角星形替換為32角星形,我們看代碼:

Sub mynzC()

'活動文檔中創建一個新的繪圖畫布,並在其上添加一個圓和16星型。

Dim myCanvas As Shape

Set myCanvas = ActiveDocument.Shapes.AddCanvas(Left:=100, Top:=75, Width:=150, Height:=400)

myCanvas.CanvasItems.AddShape Type:=msoShapeOval, Top:=25, Left:=25, Width:=150, Height:=150

myCanvas.CanvasItems.AddShape Type:=msoShape16pointStar, Top:=200, Left:=25, Width:=150, Height:=150

'向 myDocument 添加一個矩形,然後為其設置前景色、背景色和矩形填充的漸變類型。

With ActiveDocument.Shapes.AddShape(msoShapeRectangle, 280, 100, 150, 150).Fill

.ForeColor.RGB = RGB(128, 0, 0)

.BackColor.RGB = RGB(170, 170, 170)

.TwoColorGradient msoGradientHorizontal, 1

End With

ActiveDocument.Shapes.AddShape msoShape16pointStar, 280, 280, 150, 150

'將活動文檔中的所有 16 磅星形替換為 32 磅星形

Dim myDoc As Document

Dim myShp As Shape

Set myDoc = ActiveDocument

For Each myShp In myDoc.Shapes

If myShp.AutoShapeType = msoShape16pointStar Then

myShp.AutoShapeType = msoShape32pointStar

End If

Next

End Sub

代碼截圖:

VBA在文檔中添加圖形及填充顏色 - 天天要聞

代碼講解:(略)

代碼的運行效果:

VBA在文檔中添加圖形及填充顏色 - 天天要聞

今日內容迴向:

1 Word中Shape對象的AutoShapeType屬性、CanvasItems 屬性、Fill屬性的意義是什麼?

2 如何利用VBA在當前文檔中添加圖形及顏色的填充?

本講內容參考程序文件:Doc 009文檔.docm

VBA在文檔中添加圖形及填充顏色 - 天天要聞

我20多年的VBA實踐經驗,全部濃縮在下面的各個教程及應用工具中:

VBA在文檔中添加圖形及填充顏色 - 天天要聞

VBA在文檔中添加圖形及填充顏色 - 天天要聞

VBA在文檔中添加圖形及填充顏色 - 天天要聞

分享成果,隨喜正能量】老天對我們每個人都是公平的,有人讓你哭了,一定會有人讓你笑。。

科技分類資訊推薦

長安與東風重組新進展:朱華榮稱不會改變長安既定戰略 - 天天要聞

長安與東風重組新進展:朱華榮稱不會改變長安既定戰略

2月9日,長安汽車和東風集團股份(00489.HK)同步發布了控股股東「正在與其他國資央企集團籌劃重組事項」的信息。長安汽車的控股股東是兵裝集團,而東風集團股份的控股股東是東風公司。隨即,長安汽車和東風集團這兩家汽車央企將合併重組,成為業內關注的焦點。
公安部出手了!年齡限制放寬10年、送考下鄉,2025年考駕照不難了 - 天天要聞

公安部出手了!年齡限制放寬10年、送考下鄉,2025年考駕照不難了

電動車加強管理以後,要求機動車類型的車輛需要持證上路,但是老年人考駕照卻受阻,一方面有年齡的限制,另一方面偏遠山區考駕照不方便,所以在2025年公安部出手了,年齡限制放寬10年,同時推出送考下鄉服務,還進一步的降低考駕照的費用,2025年起考摩托車駕照不難了。
從「星靈安全守護體系」到昊鉑HL,看懂廣汽科技日 - 天天要聞

從「星靈安全守護體系」到昊鉑HL,看懂廣汽科技日

發布會以技術切入,並全程圍繞安全展開。廣汽集團董事長、總經理馮興亞率先登場,宣布2025年四季度將正式上市支持L3級智能駕駛的車型,他同時強調面向自動駕駛時代對智能駕駛技術、整車安全架構以及突發風險處理能力的要求更高。如何才能滿足更高的要求?馮興亞提到了「廣汽
關稅大棒下,最受傷的車企出現了 - 天天要聞

關稅大棒下,最受傷的車企出現了

特朗普的關稅大棒剛揮出,尚未嚇退「外敵」,卻先刺痛了自己。近日,擁有瑪莎拉蒂、Jeep等14個品牌的全球第四大車企斯泰蘭蒂斯突然宣布裁撤900名美國工人,關閉加拿大和墨西哥兩家工廠,北美生產線陷入癱瘓。幾乎同一時間,捷豹路虎宣布暫停對美出口一個月,奧迪更是直接