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在文檔中添加圖形及填充顏色 - 天天要聞

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

科技分類資訊推薦

65億美元芯片收購案,遭美國二次調查 - 天天要聞

65億美元芯片收購案,遭美國二次調查

本文由半導體產業縱橫(ID:ICVIEWS)綜合 美國FTC對軟銀收購Ampere展開深度調查。 據知情人士透露,美國聯邦貿易委員會就軟銀擬收購 Arm 服務器處理器廠商Ampe....
DRAM市場,將創新高 - 天天要聞

DRAM市場,將創新高

本文由半導體產業縱橫(ID:ICVIEWS)綜合 傳統通用型DRAM和服務器高價值DRAM量價齊升雙重驅動,2025年DRAM市場有望創新高。 根據CFM最新報告顯示,2025年....
國產晶圓代工,市場巨變! - 天天要聞

國產晶圓代工,市場巨變!

未來十年,將是晶圓代工業的關鍵轉折期。 這一判斷,在近期一組數據中得到了清晰印證。根據 Yole Group 的最新報告,中國大陸有望在 2030 年超越中國台灣,躍居全球最大半導體晶圓代....
像賣車一樣賣機械人?機械人體驗店迎來爆發潮 - 天天要聞

像賣車一樣賣機械人?機械人體驗店迎來爆發潮

變現是目前人形機械人最大的問題。為了提高銷量,更快形成社會氛圍,拉動人才集中,業內誕生出多個全新思路。其中,集中展示4S店以及比賽,無疑是近期人形機械人行業關注的焦點。本文盤點了近日出現的4S店新模式▍具微科技(機械人4S店)6月30日,杭州迎來全國首傢具身智能機械人4S店的開業。這個由具微科技打造的具身智能...
79元,小米剛上架的這服務,真的太爽啦 - 天天要聞

79元,小米剛上架的這服務,真的太爽啦

雖然今天比較受關注的,是小米1999元/月租金的「小米青年公寓」。但機哥還是想提醒一波。手持小米老機型的機友們,要是電池健康度已經掉了很多、又或是覺得手機續航不太夠用。可別錯過小米今天開啟的「七月服務周」活動。活動時間是7月1日10點-7月
「全球Z世代創未來」:「上海·未來城市」全球創意作品徵集 - 天天要聞

「全球Z世代創未來」:「上海·未來城市」全球創意作品徵集

上海的未來是什麼樣子?讓青年人來說,才算數。無論你來自哪裡,帶着怎樣的故事,都能在這座城市找到屬於自己的歸屬感。只因上海,從來不只是一座城,更是無數夢想的交匯點。用年輕的方式,去看見這座城市的無限可能吧。一則視頻,一張照片,一幅插畫,甚至是一行代碼……你的創意,將成為鏈接世界的橋樑;你的表達,將定義...
行進中國丨重慶汽車產業向「新」而行 - 天天要聞

行進中國丨重慶汽車產業向「新」而行

這座超級工廠內,1600多台智能終端、3000多台機械人協同運作,實現了焊接過程自動化率100%、噴塗自動化率100%、全自動智能伺服壓機線自動化率100%,滿產後下線一台車最快僅需30秒。
微信朋友圈有變動!網友:最討厭的功能終於取消了 - 天天要聞

微信朋友圈有變動!網友:最討厭的功能終於取消了

1日有網友發消息稱微信最新版本可以關閉共同好友點贊提醒了開啟這項功能後,共同好友對你互動過的朋友圈進行點贊或評論時,系統不再推送紅點提醒,但仍可在消息列表中查看,也就是共友互動時就不再通知了。