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在文檔中添加圖形及隱藏圖形 - 天天要聞

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

科技分類資訊推薦

2025款風雲A8煥新上市,現金一口價8.99萬元起 - 天天要聞

2025款風雲A8煥新上市,現金一口價8.99萬元起

全民高性能,節能零妥協!4月10日,超能混動新家轎——2025款風雲A8於奇瑞「混動之夜」煥新上市,以8.99萬元起的現金一口價,將國民混動家轎的價值推向全新高度。作為奇瑞以全球標準打造的轎車,風雲A8集高節能、高性能、高安全、高智能四大優勢於一身,不僅能在全
技術王炸只要20萬,漢L唐L上市,威脅了理想? - 天天要聞

技術王炸只要20萬,漢L唐L上市,威脅了理想?

4月9日晚,比亞迪又向汽車市場扔下了一對兒王炸,王朝網全新雙旗艦漢L和唐L正式上市。還記得上個月,兩車在超級e平台技術發佈會上開啟預售後,大家說的最多的除了新技術,就是有點貴了(漢L EV預售27-35萬元;唐L EV預售28-36萬元)。但當時誰也沒想到,最
比亞迪雙旗艦漢L唐L正式上市,售價20.98萬元起 - 天天要聞

比亞迪雙旗艦漢L唐L正式上市,售價20.98萬元起

4月9日,比亞迪劃時代雙旗艦車型重磅上市。其中,旗艦轎車漢L共推出漢L EV、漢L DM兩大車系。新車長寬高分別為5050*1960*1505mm,軸距2970mm,是標準的C+級轎車。其中,漢L EV坐擁701KM激光雷達尊享型、701KM激光雷達旗艦型、四
漢唐L震撼上市,20萬級的市場又要變天了! - 天天要聞

漢唐L震撼上市,20萬級的市場又要變天了!

4月9日,比亞迪直接甩出王炸——旗艦轎車漢L和旗艦SUV唐L同步上市!價格直接殺到20萬出頭(漢L 20.98萬起,唐L 22.98萬起)。目標很明確:年輕人第一台「超跑級」轎車,大家庭的「全能移動城堡」,這次連特斯拉、BBA和理想都得捏把汗!
長安汽車公布4月新品計劃  9款新品將登場亮相 - 天天要聞

長安汽車公布4月新品計劃 9款新品將登場亮相

4月8日,長安汽車公布了4月新品計劃,包括阿維塔06、阿維塔07探索版、啟源 Q07等9款車型即將亮相。新品計劃涵蓋了多個細分市場,從轎車到SUV,再到新能源車型,展現了長安汽車的產品布局和對市場需求的積極響應。