VC中進(jìn)行office編程_第1頁
VC中進(jìn)行office編程_第2頁
VC中進(jìn)行office編程_第3頁
VC中進(jìn)行office編程_第4頁
VC中進(jìn)行office編程_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論