日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

大家好,今天我準備給大家分享一個關于在PowerPoint放映時ActiveX控件背景透明的問題,也許很多朋友很說,這有何難?設置其屬性不就得了。比如可以通過下面常規的方法進行設置。

方法一:通過屬性窗口設置

巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖1 通過屬性窗口設置ActiveX控件背景透明

方法二:通過后臺代碼的形式

巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖2 通過后臺代碼形式設置ActiveX控件背景透明

上面的操作,從道理上講是沒錯的,但是我指的是誰PPT放映時,是否能夠絕對保證根據ActiveX控件背景之前設置的透明屬性呈現ActiveX控件背景透明效果呢?其實,不然。根據我的嘗試,雖然可以事前對ActiveX控件背景進行透明屬性設置,但往往放映時,這個ActiveX控件背景依然存在。

怎么辦呢?根據我個人的探索嘗試,可以借助動態獲取ActiveX控件所在的幻燈片背景色,讓這個背景色去填充ActiveX控件背景的形式,從“效果”上達到ActiveX控件背景透明的效果。

下面,我們就來講講如何實現吧!

一、在PPT中插入幾個ActiveX控件的界面布局

巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖3 PPT中插入的ActiveX控件

二、從VBA后臺實現ActiveX控件背景透明的功能代碼

模塊1中的代碼:

Public Control_Original_BackColor_Value 'Control_Original_BackColor_Value--控件的原始背景色

Public Control_Original_ForeColor_Value 'Control_Original_ForeColor_Value_Value--控件的原始前景色

Sub OnSlideShowPageChange() '演示文檔放映時即刻觸發的事件

'如果當前播放的演示文檔的幻燈片顯示窗口的預覽下,當前的顯示定位為第一張幻燈片時,做一次初始化試題工作(這樣就避免了每張幻燈 _

片跳變都要執行無謂的浪費資源式的初始化工作)

Set_ForeColor_Value = ActivePresentation.SlideMaster.Shapes(1).Fill.ForeColor.RGB '控件文字即將被設置的顏色為母版文字顏色

If ActivePresentation.SlideShowWindow.View.CurrentShowPosition = 1 Then

Dim ctr_single As Shape 'ctr_single為ActiveX控件(特別注意的是:PowerPoint幻燈片上面的控件皆作為圖形的形式訪問,要訪問這 _

些“圖形”式的ActiveX控件的屬性必須采用“圖形對象.OLEFormat.Object.屬性”的形式進行)

Set ctr = Slide1.Shapes(1)

Control_Original_BackColor_Value = ctr.OLEFormat.Object.BackColor '存儲原始背景色

Control_Original_ForeColor_Value = ctr.OLEFormat.Object.ForeColor '存儲原始前景色

ControlType_Arr = Array("Label", "OptionButton", "CheckBox")

ControlName_Arr = Array("標簽", "單選鈕", "復選框")

c = Slide1.Background.Fill.ForeColor.RGB '提取當前幻燈片的背景色,存入臨時變量c中

For i = 1 To Slide1.Shapes.Count '由Slide1.Shapes.Count統計圖形的形式簡潔統計出多少個控件

Set ctr = Slide1.Shapes(i)

tn = TypeName(ctr.OLEFormat.Object)

p = Pos_In_A_Array(tn, ControlType_Arr)

If p <> -1 Then

Control_Prompt_Str = "第" & i & "個ActiveX控件“" & ControlName_Arr(p) & "”,類型[" & tn & "]" & Chr(10) & "背景色將被設為與所在幻燈片顏色同色(即控件背景色形式上的“透明”效果)"

MsgBox Control_Prompt_Str, vbInformation, "設置提示"

ctr.OLEFormat.Object.BackColor = c '設置控件的背景色為當前幻燈片的背景色(即形成表面上的“背景透明”效果)

ctr.OLEFormat.Object.ForeColor = Set_ForeColor_Value '設置控件的文字顏色自適應為幻燈片母版文字顏色

End If

Next

End If

End Sub

Sub OnSlideShowTerminate() '幻燈片終止放映后觸發恢復控件原有顏色的效果

Dim ctr_single As Shape 'ctr_single為ActiveX控件(特別注意的是:PowerPoint幻燈片上面的控件皆作為圖形的形式訪問,要訪問這 _

些“圖形”式的ActiveX控件的屬性必須采用“圖形對象.OLEFormat.Object.屬性”的形式進行)

For i = 1 To Slide1.Shapes.Count

Set ctr = Slide1.Shapes(i)

ctr.OLEFormat.Object.BackColor = Control_Original_BackColor_Value

ctr.OLEFormat.Object.ForeColor = Control_Original_ForeColor_Value

Next

End Sub

Function Pos_In_A_Array(Type_Name, ControlType_Arr) As Variant '定位給定的類型名字在數組中選找到的位置,如果-1表示不存在該位置

For i = 0 To UBound(ControlType_Arr)

If Type_Name = ControlType_Arr(i) Then

Pos_In_A_Array = i

Exit For

End If

If i > UBound(ControlType_Arr) Then

Pos_In_A_Array = -1

End If

Next

End Function

三、測試實現ActiveX控件背景透明“效果”的展示

按<F5>鍵放映,可以看到如下效果

巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖4 單選鈕控件背景設置顯示提示


巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖5 點擊<確定>后的單選鈕控件背景透明展示及復選框控件背景設置顯示提示


巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖6 點擊<確定>后的復選框控件背景透明展示及標簽控件背景設置顯示提示


巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖7 點擊<確定>后的標簽控件背景透明展示


巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖8 按<Esc>結束演示文檔放映后,單選鈕、復選框、標簽控件背景恢復原色

四、技術小結

(一)我們充分運用了獲取所在幻燈片的背景色的方式。如下代碼截圖

巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖9 獲取當前控件所在幻燈片的背景色

(二)同時,立即用該背景色填充ActiveX控件背景的形式實現其背景在“效果”上透明的目的。如下代碼截圖

巧妙解決PowerPoint放映時ActiveX控件背景透明的問題

圖10 用幻燈片背景色填充控件背景色

好了,我們的分析就到這里,謝謝大家的關注(頭條號:跟我學office高級辦公)、推廣和點評哦,更感謝大家持續關注我后期退出的頭條原創作品!

分享到:
標簽:PowerPoint
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定