VBA在文檔中添加圖形及隱藏圖形

2022年10月03日09:10:25 科技 1478

分享成果,隨喜正能量】心生喜樂的時候,我們並沒有看到隱藏在背後的痛苦,心生寧靜的時候,那起伏不定的情緒正在趕來的路上,所有的事物都不會持久,也不會永恆,這就是無常。。

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

VBA在文檔中添加圖形及隱藏圖形 - 天天要聞

第六節 Shape對象的屬性(三)

大家好,我們這節繼續Shape對象的屬性講解,上一講給大家講解Shape對象的Name屬性,Shadow屬性和TextFrame屬性。這節給大家介紹Shape對象的TextEffect屬性,Visible屬性和Type屬性。

1 Shape.TextEffect屬性

該屬性返回一個TextEffectFormat對象, 該對象包含指定形狀的文本效果格式設置屬性。 此為只讀屬性。

語法:expression.TextEffect

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

  • 此屬性適用於代表藝術字的Shape對象。

2 Shape.Visible屬性

該屬性指定的對象或應用的格式,是可見的則返回true 。

語法:expression.Visible

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

3 Shape.Type 屬性

該屬性返回嵌入式圖形的類型。只讀的MsoShapeType。

  • MsoShapeType不同於MsoAutoShapeType兩者的枚舉值大家可以仔細對照,MsoAutoShapeType是MsoShapeType的類型之一

語法:expression.Type

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

MsoShapeType 枚舉值:

1) mso3DModel 30 3d 模型

2) msoAutoShape 1 AutoShape

3) msoCallout 2 標註

4) msoCanvas 20 畫布

5) msoChart 3 圖表

6) msoComment 4 批註

7) msoContentApp 27 內容 Office 加載項

8) msoDiagram 21 規劃

9) msoEmbeddedOLEObject 7 嵌入式 OLE 對象

10) msoFormControl 8 表單控件

11) msoFreeform 5 任意多邊形

12) msoGraphic 28 圖形

13) msoGroup 6 Group

14) msoIgxGraphic 24 SmartArt 圖形

15) msoInk 22 Ink

16) msoInkComment 23 Ink comment

17) msoLine 9 Line

18) msoLinked3DModel 31 Linked 3D model

19) msoLinkedGraphic 29 鏈接的圖形

20) msoLinkedOLEObject 10 鏈接 OLE 對象

21) msoLinkedPicture 11 Linked picture

22) msoMedia 16 媒體

23) msoOLEControlObject 12 OLE 控件對象

24) msoPicture 13 圖片

25) msoPlaceholder 14 佔位符

26) msoScriptAnchor 18 腳本定位標記。

27) msoShapeTypeMixed -2 混和形狀類型

28) msoTable 19 Table

29) msoTextBox 17 文本框

30) msoTextEffect 15 文本效果

31) msoWebVideo 26 Web 視頻

4 實例:添加圖形並有選擇的隱藏

這講的實例中我們將在當前文檔中添加些內容,首先添加一塊畫布,在畫布上添加形狀圓形;然後再添加些形狀。

最後我們用Shape.Type 屬性和AutoShapeType屬性進行判斷,對圖形進行有選擇的隱藏。我們看代碼:

Sub mynzE()

Set myDoc = ActiveDocument

'在當前文檔中添加畫布

Set myCanvas = myDoc.Shapes.AddCanvas(Left:=10, Top:=20, Width:=150, Height:=400)

'畫布中添加形狀

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

'當前文檔中添加幾個自動圖形

With myDoc

.Shapes.AddShape msoShapeBalloon, 100, 70, 150, 60

.Shapes.AddShape msoShapeRectangle, 200, 80, 150, 60

.Shapes.AddShape msoShapeCan, 300, 90, 150, 60

End With

For Each myShp In myDoc.Shapes

'隱藏矩形

If myShp.AutoShapeType = msoShapeRectangle Then

'myShp.Visible = True

myShp.Visible = False

End If

'隱藏畫布及上面的形狀

If myShp.Type = msoCanvas Then

'myShp.Visible = True

myShp.Visible = False

End If

Next

End Sub

代碼截圖:

VBA在文檔中添加圖形及隱藏圖形 - 天天要聞

代碼解讀:(略)

代碼的運行效果:

我們在代碼的中間設置斷點,進行兩次測試,一是隱藏前的截圖,一是隱藏後的截圖:

VBA在文檔中添加圖形及隱藏圖形 - 天天要聞

VBA在文檔中添加圖形及隱藏圖形 - 天天要聞

今日內容迴向:

1 Word中Shape對象的TextEffect屬性,Shadow屬性和Type屬性的意義是什麼?

2 如何利用VBA在當前文檔中添加圖形及文字,並設置陰影的填充?

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

VBA在文檔中添加圖形及隱藏圖形 - 天天要聞

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

VBA在文檔中添加圖形及隱藏圖形 - 天天要聞

分享成果,隨喜正能量】因為生命有衰亡,才有了時間概念,如果生命是永恆的,那時間也就不存在了。。

科技分類資訊推薦

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

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

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

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

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

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

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

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

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