MFC操作office通用分析方法

2022-07-26 10:15:11 字數 3772 閱讀 7028

mfc操作office通用分析方法

序word和excel都是我們在日常中常常用到的工具,當然大部分的操作都可以手動完成。但是有時候,有的重複性的統計操作是很繁瑣的,比如如下的例子:

我們圖一的excel**儲存了很多人員資訊,要利用這個excel做成圖二的准考證,如果只有1,2個人還好辦,如果有很多人,我們可能就需要利用vb,vc的幫助了。

圖一

圖二一.mfc操作office的通用分析方法:

offcie系列的api函式超級多,而且msdn上的解釋都是vb的,所以為了應對各種各樣的操作,我們有一種通用的方法,就是利用巨集,巨集錄製的**是vb的,但vb的函式和vc的通常都差不多,唯一比較麻煩的是巨集的值,但是可以利用msgbox來檢視。下面是乙個例子:

比如圖二的圖,我想要複製多份,

第一步:點選word的工具->巨集->錄製新巨集,然後進行複製操作。

[vb]view plain

copy

selection.movedown unit:=wdline, count:=10, extend:=wdextend  

selection.copy  

selection.movedown unit:=wdline, count:=1  

selection.typeparagraph  

selection.moveup unit:=wdline, count:=1  

selection.pasteandformat (wdpastedefault)  

selection.pasteandformat (wdpastedefault)  

endsub

這裡有很多巨集,比如

wdline

,wdextend

,wdpastedefault

,我們可以在

vb**中加入

msgbox wdpastedefault

來看到wdpastedefault

對應的值是多少。

第三步:對照word引入的api函式可以看到對應的函式原型:

[cpp]view plain

copy

long

movedown(variant* unit, variant* count, variant* extend);  

void

copy();  

void

typeparagraph();  

long

moveup(variant* unit, variant* count, variant* extend);  

void

pasteandformat(

long

type);  

下面將vb**改造為vc**:

[cpp]view plain

copy

selection m_selection = ……(前期初始化)  

m_selection.movedown(colevariant(5), colevariant((short

)10),colevariant((

short

)1));  

m_selection.copy();  

m_wdsel.movedown(colevariant(5), colevariant((short

)1),colevariant((

short

)0));  

m_wdsel. typeparagraph();  

m_wdsel.moveup(colevariant(5), colevariant((short

)1),colevariant((

short

)0));  

m_wdsel.pasteandformat(0);  

m_wdsel.pasteandformat(0);  

記住,巨集變數用msgbox來檢視。

三.如何使用 office 型別庫

型別庫與 c/c++ 標頭檔案類似。它包含伺服器發布的介面、方法和屬性。您可以使用visual c++ 附帶的 ole/com 物件檢視器 (oleview.exe) 來檢視型別庫。下面列出了microsoft office 95、microsoft office 97、microsoft office 2000 和 microsoft office xp的型別庫檔名:

office 

應用程式

型別庫word 95 

及更低版本

wb70en32.tlb

excel 95 

及更低版本

xl5en32.olb

powerpoint 95 

及更低版本

powerpoint.tlb

access 95 

及更低版本

msaccess.tlb

binder 95

binder.tlb

schedule+

sp7en32.olb

project

pj4en32.olb

team manager

mstmgr1.olb

word 97

msword8.olb

excel 97

excel8.olb

powerpoint 97

msppt8.olb

access 97

msacc8.olb

binder 97

msbdr8.olb

graph 97

graph8.olb

outlook 97

msoutl8.olb

outlook 98

msoutl85.olb

word 2000

msword9.olb

excel 2000

excel9.olb

powerpoint 2000

msppt9.olb

access 2000

msacc9.olb

outlook 2000

msoutl9.olb

word 2002

msword.olb

excel 2002

excel.olb

powerpoint 2002

msppt.olb

access 2002

msacc.olb

outlook 2002

msoutl.olb

office word 2003

msword.olb

office excel 2003

excel.exe

office powerpoint 2003

msppt.olb

office access 2003

msacc.olb

office outlook 2003

msoutl.olb

三.參考**

msdn官方參考:

wps api參考:

excel操作參考:

word操作參考:

variant

、colevariant 

和_variant_t

型別:

mfc建立office辦公軟體

上篇用建立exel來舉了個例子,有不少人問過word,ppt怎麼辦,其實他們和exel大同小異,只不過個別方法和引數不同。word ccomvariant template t 沒有使用word的文件模板 ccomvariant newtemplate false documenttype 0 vi...

VC對Office進行操作

obtguigcomofficeprinter.h if defined afx obtguigcomofficeprinter h 03a0c2d8 dfc8 4b51 8adb 994b86bacb82 included define afx obtguigcomofficeprinter h ...

C 操作Office元件 八

一 設定pdf文件資訊 pdf文件中可以包含一些與文件內容本身無關的資訊,這部分資訊可以包括文件的題目和作者名等一些額外的資訊,便於對pdf文件進行其他處理。本節將介紹設定pdf文件資訊的方法。新增對itextsharp的引用 using system using system.io using i...