C 開發技巧系列 使用C 操作幻燈片

2021-09-04 19:09:20 字數 2702 閱讀 2610

本專題概要

一、引言

記得老師講課的時候,經常會用ppt遙控翻頁筆來遙控幻燈片來給我們講課,當時覺得非常有趣,由於這段時間接觸了vsto相關的開發,了解到了office的相關產品都公開了一些api來讓我們對office產品進行二次開發,這時候我就想,能不能用powerpoint公開的物件來製作乙個遙控幻燈片的程式呢?在本專題就向大家介紹下這個小工具的實現思路和效果。

二、實現思路

既然要實現的程式是遙控幻燈片,這樣我們就需要先獲得幻燈片應用程式的

獲得了幻燈片應用程式物件之後,之後我們就需要獲得幻燈片物件,因為我們遙控的是幻燈片,在powerpoint物件模型中也提供了幻燈片物件,即microsoft.office.interop.powerpoint.slide。由於幻燈片又是存在於演示文稿中的,所以我們要想獲得幻燈片物件,就需要先獲得演示文稿物件,microsoft.office.interop.powerpoint.presentation就是代表演示文稿物件。

獲得幻燈片物件之後,我們就可以利用幻燈片物件的select方法來進行幻燈片的切換,然而在閱讀模式的情況下,不能用select方法來進行翻頁,此時需要另一種方式來實現,即呼叫microsoft.office.interop.powerpoint.slideshowview物件的first,next,last,previous方法來進行幻燈片翻頁。

上面列出來的就是該工具的實現思路,其實思路非常的簡單,為了幫助大家更形象地理解powerpoint的物件模型,下面就用一張圖來介紹powerpoint中物件與真真的幻燈片的乙個物件關係(從下面的圖中也可以體會到物件導向程式設計,就是把看到的東西抽象出乙個個物件):

下面一張是閱讀模式下程式中實現翻頁功能與在幻燈片中的對應關係:

三、遙控幻燈片程式的實現

/// 

/// 檢查是否開啟幻燈片程式

///

///

///

private

void btncheck_click(object sender, eventargs e)

// 必須先執行幻燈片,下面才能獲得powerpoint應用程式,否則會出現異常

// 獲得正在執行的powerpoint應用程式

try// 成功獲取了powerpoint程式時,使ui按鈕可用

this.btnfirst.enabled = true;

this.btnnext.enabled = true;

this.btnprev.enabled = true;

this.btnlast.enabled = true;

catch

messagebox.show("請先啟動遙控的幻燈片", "error", messageboxbuttons.okcancel, messageboxicon.error);

//獲得演示文稿物件

// 獲得幻燈片物件集合

slides = presentation.slides;

// 獲得幻燈片的數量

slidescount = slides.count;

// 獲得當前選中的幻燈片

try// 在普通檢視下這種方式可以獲得當前選中的幻燈片物件

// 然而在閱讀模式下,這種方式會出現異常

catch

// 在閱讀模式下出現異常時,通過下面的方式來獲得當前選中的幻燈片物件

// 第一頁事件

private

void btnfirst_click(object sender, eventargs e)

try// 在普通檢視中呼叫select方法來選中第一張幻燈片

slides[1].select();          

slide = slides[1];

catch

// 在閱讀模式下使用下面的方式來切換到第一張幻燈片

下面就看看該遙控程式的執行效果是如何的:

四、小結

到這裡本專題的介紹就介紹就結束,其實本程式最好是放在手機客戶端,這樣我們就可以利用手機來對我們的幻燈片進行翻頁了,這樣就和雷射筆的效果就是一樣的了,這裡就給大家先提供乙個思路吧,我相信如果要在手機客戶端實現的話,肯定就需要藍芽程式設計的技術或者wifi程式設計的技術來獲取膝上型電腦的幻燈片應用程式,只要我們成功在手機客戶端獲取了powerpoint應用程式物件的話,後面的實現過程就和本程式的實現方式就基本一樣的,然而我們同時開啟筆記本的藍芽和手機的藍芽(也可以利用wifi),這樣我們就可以輕鬆實現用手機來遙控我們演講文稿了,如果有時間的話,也會研究下手機的藍芽程式設計技術,實現了肯定會在部落格中向大家分享的,如果其他朋友提前實現了的,也不要忘記在部落格分享給大家了。

C 開發技巧系列 使用C 操作幻燈片

本專題概要 一 引言 記得老師講課的時候,經常會用ppt遙控翻頁筆來遙控幻燈片來給我們講課,當時覺得非常有趣,由於這段時間接觸了vsto相關的開發,了解到了office的相關產品都公開了一些api來讓我們對office產品進行二次開發,這時候我就想,能不能用powerpoint公開的物件來製作乙個遙...

如何使用C 操作幻燈片

記得老師講課的時候,經常會用ppt遙控翻頁筆來遙控幻燈片來給我們講課,當時覺得非常有趣,由於這段時間接觸了vsto相關的開發,了解到了office的相關產品都公開了一些api來讓我們對office產品進行二次開發,這時候我就想,能不能用powerpoint公開的物件來製作乙個遙控幻燈片的程式呢?在本...

C 操作Excel開發報表系列整理

c 操作excel進行報表開發系列共寫了七篇,也已經有很久沒有新東西了,現在整理一下,方便以後查閱,如果有寫新的,會同時更新。需要注意的是因為office的版本不同,實際的 可能會有所不同,但是都是多幾個,少幾個引數,補上引數system.reflection.missing.value就可以了 將...