版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VC中進(jìn)行office編程操作word介紹VC中進(jìn)行office編程的操作word,可以設(shè)置文字的樣式,新建表格,這里提供給大家一個(gè)類CWzjWordOffice:CWzjOffice類,用來對(duì)WORD進(jìn)行簡單的操作。讀者評(píng)分 3 評(píng)分次數(shù) 1 正文大家先看一下CWzjWordOffice類怎么使用 CWzjWordOffice wd; /定義一個(gè)操作word的對(duì)象 wd.Create(); /創(chuàng)建一個(gè)word應(yīng)用程序增加一個(gè)文檔 wd.SetFont(25,"魏碑",RGB(128, 0, 0); /
2、設(shè)置字體(字號(hào),字體名,顏色) wd.SetFont(1,0,0); /設(shè)置字體為粗體,不是斜體,沒有下劃線 wd.SetParaphformat(1); /設(shè)置文字為居中對(duì)齊 wd.WriteText("軟件工程成績"); /寫文字 wd.m_wdSel.TypeParagraph(); /回車換行 /設(shè)置表格字體 wd.SetFont(9,"宋體");
3、 wd.SetFont(0,0,0); wd.CreateTable(2,4); /創(chuàng)建一個(gè)2行4列的表格 wd.WriteCellText(1,1,"學(xué)號(hào)"); /往1行1列單元寫“學(xué)號(hào)” wd.WriteCellText(1,2,"姓名"); /往1行2列單元寫“姓名” wd.WriteCellText(1,3,"年齡"); /. wd.WriteCellText(1,4,"省份
4、"); wd.WriteCellText(2,1,"23020723"); wd.WriteCellText(2,2,"汪自軍"); wd.WriteCellText(2,3,"25"); wd.WriteCellText(2,4,"湖北"); wd.ShowApp(); /顯示word后面是效果圖。此主題相關(guān)圖片如下:按此查看圖片詳細(xì)信息正在讀取此圖片的詳細(xì)信息,請(qǐng)稍候 .要 在VC中
5、進(jìn)行OFFICE編程,先要導(dǎo)入OFFICE組件庫,方法是:VC類向?qū)г黾宇怓rom a type library找到D:Program FilesMicrosoft OfficeOFFICE11MSWORD.OLB增加一些類,在WORD中要增加的 _Application,_Document,_Font,_Paragraphformat,要是后面用到不夠的話,還可以回來用同樣的方法加上。下面是類的兩個(gè)文件.h文件/ WzjOffice.h: interface for the CWzjOffice class./#if !defined(AFX_WZJOFFICE_H_5E694706_F03
6、1_4E02_9674_69A4B7300931_INCLUDED_)#define AFX_WZJOFFICE_H_5E694706_F031_4E02_9674_69A4B7300931_INCLUDED_#if _MSC_VER > 1000#pragma once#endif / _MSC_VER > 1000#include "atlbase.h"#include "msword.h"#include "comdef.h"#include <afxdisp.h> /COlVirant/*
7、 類名: CWzjOffice,CWzjWordOffice,CWzjExcelOffice 頭文件 WzjOffice.h * 描述: Office操作(WORD,EXCEL) 信息: 汪自軍
8、 吉林大學(xué) 2007.01* 聯(lián)系: wzj23020723 TM: 39600719* blog: */=CWzjOffice=class CWzjOffice public: CWzjOffice(); virtual CWzjOffice();/=/=/=CWzjWordOffice=class CWzjWordOffi
9、ce:CWzjOfficeprivate:public: _Application m_wdApp; Documents m_wdDocs; _Document m_wdDoc; _Font m_wdFt; Selection m_wdSel; Table m_wdTb;public: CWzjWordOffice(); virtual CWzjWordOffice(); /操作
10、/*創(chuàng)建新文檔* BOOL CreateApp(); /創(chuàng)建一個(gè)新的WORD應(yīng)用程序 BOOL CreateDocumtent(); /創(chuàng)建一個(gè)新的Word文檔 BOOL Create(); /創(chuàng)建新的WORD應(yīng)用程序并創(chuàng)建一個(gè)新的文檔 void ShowApp(); /顯示W(wǎng)ORD文檔/*文本書寫操作* void WriteText(CString szText); /寫文本 void NewLine(int nLineCount); /回車換N行&
11、#160; void WriteNewLineText(CString szText, int nLineCount = 1); /換N行寫字/*表格操作* void CreateTable(int nRow, int nColumn); void WriteCellText(int nRow, int nColumne, CString szText); /往表格中寫字 void WriteCellNewLineText(int nRow, int nColumne, CString szText, int
12、nLineCount = 1); /表格換N行寫字 void New2StringArray(CString* pszArr, int nRow, int nColumn); /創(chuàng)建二維字符串?dāng)?shù)組 void WriteTableText(CString* pszText, int nRow, int nColumn); /用二維字符串?dāng)?shù)組填充表格 void SelectCell(int nRow, int nColumn); /選中表格/*字體設(shè)置* void SetFont(CString szF
13、ontName, float fSize = 9, long lFontColor = 0, long lBackColor=0); void SetFont(BOOL bBold, BOOL bItalic = FALSE, BOOL bUnderLine = FALSE); void SetTableFont(int nRow, int nColumn, CString szFontName = "宋體", float fSize=9, long lFontColor=0, long lBackColor = 0);
14、60; void SetTableFont(int nRow, int nColumn, BOOL bBold, BOOL bItalic = FALSE, BOOL bUnderLine = FALSE);/*格式設(shè)置* void SetParaphformat(int nAlignment);/方法;#endif / !defined(AFX_WZJOFFICE_H_5E694706_F031_4E02_9674_69A4B7300931_INCLUDED_).cpp文件/ WzjOffice.cpp: implementation of the CWz
15、jOffice class./#include "stdafx.h"#include "WzjOffice.h"#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE=_FILE_;#define new DEBUG_NEW#endif/ Construction/Destruction/CWzjOffice:CWzjOffice()CWzjOffice:CWzjOffice()/=CWzjWordOffice=CWzjWordOffice:CWzjWordOffice()CWzjWordOffice:CWz
16、jWordOffice()BOOL CWzjWordOffice:CreateApp() if (FALSE = m_wdApp.CreateDispatch("Word.Application") AfxMessageBox("Application創(chuàng)建失敗!", MB_OK|MB_ICONWARNING); return FALSE; / m_wdA
17、pp.SetVisible(TRUE); return TRUE;BOOL CWzjWordOffice:CreateDocumtent() if (!m_wdApp.m_lpDispatch) AfxMessageBox("Application為空,Documents創(chuàng)建失敗!", MB_OK|MB_ICONWARNING); return FALSE;
18、 m_wdDocs.AttachDispatch(m_wdApp.GetDocuments(); if (!m_wdDocs.m_lpDispatch) AfxMessageBox("Documents創(chuàng)建失敗!", MB_OK|MB_ICONWARNING); return FALSE; COleVariant varTrue(sh
19、ort(1),VT_BOOL); /*VARIANT vtTtemplate, vtNewTemplate, vtDocType, vtVisible; vtTtemplate.vt = VT_BSTR; _bstr_t bstr = "" vtTtemplate.bstrVal = bstr; vtNewTemplate.vt = VT_BOOL; vtNewTemplate.boolVal = FALSE;
20、; vtDocType.vt = VT_I4; vtDocTVal =0; vtVisible.vt = VT_BOOL; vtVisible.boolVal = TRUE; pDocs->Add(&vtTtemplate,&vtNewTemplate,&vtDocType,&vtVisible);*/ CComVariant Template(_T("");
21、60;/為了簡單,沒有使用WORD的文檔模板 CComVariant NewTemplate(false),DocumentType(0),Visible; m_wdDocs.Add(&Template,&NewTemplate,&DocumentType,&Visible); /得到document和selection變量 m_wdDoc = m_wdApp.GetActiveDocument(); if (!m_
22、wdDoc.m_lpDispatch) AfxMessageBox("Document獲取失敗!", MB_OK|MB_ICONWARNING); return FALSE; m_wdSel = m_wdApp.GetSelection(); if (!m_wdSel.m_lpDispatch)
23、0;AfxMessageBox("Select獲取失敗!", MB_OK|MB_ICONWARNING); return FALSE; return TRUE;BOOL CWzjWordOffice:Create() if (FALSE = CreateApp() return FALSE; r
24、eturn CreateDocumtent();void CWzjWordOffice:ShowApp() m_wdApp.SetVisible(TRUE);void CWzjWordOffice:WriteText(CString szText) m_wdSel.TypeText(szText);void CWzjWordOffice:WriteNewLineText(CString szText, int nLineCount /* = 1 */) int i; if (nLineCount &
25、lt;= 0) nLineCount = 0; for (i = 0; i < nLineCount; i+) m_wdSel.TypeParagraph(); void CWzjWordOffice:SetFont(CString szFontName /*= "宋體"*/,float fSize, long lFontColor /*=
26、0*/,long lBackColor /*= 0*/) if (!m_wdSel.m_lpDispatch) AfxMessageBox("Select為空,字體設(shè)置失敗!", MB_OK|MB_ICONWARNING); return; m_wdSel.SetText("F"); m_wdFt = m_wdSel.GetFo
27、nt(); m_wdFt.SetSize(fSize); m_wdFt.SetName(szFontName); m_wdFt.SetColor(lFontColor); m_wdSel.SetFont(m_wdFt); Range r = m_wdSel.GetRange(); r.SetHighlightColorIndex(lBackColor);void CWzjWordOffice:SetFont(BOOL bBold, BOOL bItal
28、ic /* = FALSE */, BOOL bUnderLine /* = FALSE */) if (!m_wdSel.m_lpDispatch) AfxMessageBox("Select為空,字體設(shè)置失敗!", MB_OK|MB_ICONWARNING); return; m_wdSel.SetText("F"); m_
29、wdFt = m_wdSel.GetFont(); m_wdFt.SetBold(bBold); m_wdFt.SetItalic(bItalic); m_wdFt.SetUnderline(bUnderLine); m_wdSel.SetFont(m_wdFt);void CWzjWordOffice:SetTableFont(int nRow, int nColumn, CString szFontName, float fSize, long lFontColor, long lBackCol
30、or) Cell c = m_wdTb.Cell(nRow, nColumn); c.Select(); _Font ft = m_wdSel.GetFont(); ft.SetName(szFontName); ft.SetSize(fSize); ft.SetColor(lFontColor); m_wdSel.SetFont(ft); Range r = m_wdSel.GetRange();
31、60; r.SetHighlightColorIndex(lBackColor);void CWzjWordOffice:SetTableFont(int nRow, int nColumn, BOOL bBold, BOOL bItalic /* = FALSE */, BOOL bUnderLine /* = FALSE */) Cell c = m_wdTb.Cell(nRow, nColumn); c.Select(); _Font ft = m_wdSel.GetFont();
32、;ft.SetBold(bBold); ft.SetItalic(bItalic); ft.SetUnderline(bUnderLine); m_wdSel.SetFont(ft);void CWzjWordOffice:SetParaphformat(int nAlignment) _Paragraphformat p = m_wdSel.GetParagraphformat(); p.SetAlignment(nAlignment); m_wdSel.SetParagraphformat(p);void CWzjWordOffice:CreateTable(int nRow, int nColumn) m_wdDoc = m_wdApp.GetActiveDocument(); Tables tbs = m_wdDoc.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年度醫(yī)保知識(shí)考試題庫含答案
- 2025小動(dòng)物視覺電生理數(shù)據(jù)采集操作規(guī)范指南(2025)解讀課件
- 危急值制度試題及答案
- 施工現(xiàn)場安全防護(hù)設(shè)施設(shè)置計(jì)劃
- 車險(xiǎn)年檢知識(shí)課件
- 車隊(duì)年底安全培訓(xùn)總結(jié)課件
- 車隊(duì)安全教育培訓(xùn)
- 江蘇省職業(yè)院校技能大賽高職組建筑信息模型與應(yīng)用試題
- 車間高處作業(yè)安全培訓(xùn)內(nèi)容課件
- 2026年社區(qū)工作者年度工作計(jì)劃
- 天一大聯(lián)考海南省2026屆數(shù)學(xué)高二上期末統(tǒng)考試題含解析
- DB50∕T 1803-2025 鄉(xiāng)村振興勞務(wù)品牌人員等級(jí)評(píng)定 武陵山縫紉工
- 中煤集團(tuán)機(jī)電裝備部副部長管理能力考試題集含答案
- 黨支部2026年度主題黨日活動(dòng)方案
- 五育融合課件
- 海姆立克急救課件 (完整版)
- 2025年互聯(lián)網(wǎng)營銷游戲化營銷案例解析可行性研究報(bào)告
- DB31∕T 1048-2020“上海品牌”認(rèn)證通 用要求
- 意識(shí)障礙的判斷及護(hù)理
- 病理性賭博的識(shí)別和干預(yù)
- 2025年宿遷市泗陽縣保安員招聘考試題庫附答案解析
評(píng)論
0/150
提交評(píng)論