
Office编程
文章平均质量分 86
Augusdi
让时间验证一切,让时间验证我。感谢大家的无私帮助,我愿以同样的态度回馈我热情的朋友,用我们的热忱开创美好未来!
展开
-
Excel 参数值
Excel Excel TypeLib(Excel9.olb)/// 全部的请参看 Excel9.OLB 文件 ,下面只是一些常量定义! Excel; // Microsoft Excel 9.0 Object LibraryEnum Constants; xlAll = $ FFFFEFF8; xlAutomatic = $ FFFFEFF7; xlBoth = 1; xlCenter = $ FFFFEFF4; xlChecker转载 2010-06-28 15:44:00 · 4059 阅读 · 1 评论 -
VC之Office自动化开发(一)
<br />去年底老板临时交给一个任务,为一个试验数据管理系统编写一个电子报告生成程序。因为老板也不怎么重视这个项目(钱少啊,呵呵),所以这个任务只好落在我这种小硕身上了。我也是两眼瞎,万事从头干。三个月的苦斗,还算圆满交差。用VC进行office自动化开发,网上有很多文章,我本不想在此画蛇添足。只是感于自己查资料时的苦痛,所以就厚着脸皮把一些心得拿出来见见阳光,有一些技术还是自己摸索出来的。最后,office自动化开发与我专业无丁点关系,希望此文不至于太班门弄斧让你看得难堪,如果尚有所帮助,那真是不胜荣幸转载 2010-06-28 15:45:00 · 2006 阅读 · 0 评论 -
VC之Office自动化开发(三)
<br />1 Excel组件对象模型 <br />Microsoft Office Excel 2003文档中的数据是高度结构化的,因此Excel对象模型也具有层次结构并且简单明了。Excel 提供了数百个您可能需要与之交互的对象,但是最为重要的是以下四个对象:Application 对象、Workbook 对象、Worksheet 对象和Range 对象。很多工作都是围绕这四个对象进行的。<br />Application 对象。Application 对象表示 Excel 应用程序本身。App转载 2010-06-28 15:47:00 · 2426 阅读 · 0 评论 -
VC环境配置
<br /> <br />ConfigurationName<br /> <br /> <br />配置名字,通常是Debug或者Release<br /> <br /> <br />IntDir<br /> <br /> <br />编译器使用的中间目录,产出obj文件<br /> <br /> <br />OutDir<br /> <br /> <br />链接器使用的输出目录<br /> <br /> <br />ProjectDir<br /> <br /> <br />项目目录<br /> <br转载 2010-06-28 14:31:00 · 1912 阅读 · 0 评论 -
VC操作EXCEL
Excel为发人员提供了强大的外部接口,方便开发人员进行二次开发。最近笔者就采用excel 的automation技术成功地解决了excel报表的自动生成功能.<br />首先给大家介绍一下报表创建模块的组成,如下图所示<br /> <br /><br /> <br />模版文件。由于笔者设计的报表都是周期性的固定报表,做成模版更适合数据的读写操作和图表的生成,所以将全部的报表归纳整理生成了几类模版。<br /> 模版描述文件。主要纪录数据写在那个行那个列,那个图表对应什么类型的数据。它跟随模版文转载 2010-06-28 14:45:00 · 12123 阅读 · 2 评论 -
VC中操作EXCEL文件
<br />http://www.codeproject.com/cpp/miniexcel.asp(转贴)<br /> <br />1.main()<br />#include <stdio.h><br />#include <stdlib.h><br />#include "mexcel.h"<br />using namespace miniexcel;<br />#define SAVEPATH "c://temp//a.xls"<br />//#define SAVEPATH "/home/and转载 2010-06-28 14:52:00 · 2913 阅读 · 0 评论 -
VC之Office自动化开发(二)
1 Word组件对象模型 Microsoft Office Word 2003 对象是按层次顺序排列的,层次结构顶端的两个主类是 Application 类和 Document 类。这两个类非常重要,因为在大部分时间里,您要么是在使用 Word 应用程序本身,要么是以某种方式处理 Word 文档。Word 对象模型严格遵循用户界面。Application 对象提供整个应用程序的包装,每个 Document 对象表示单个 Word 文档。这些对象各自都有很多方法和属性,您可以使用这些方法和属性操作对象或转载 2010-06-28 15:46:00 · 2296 阅读 · 0 评论 -
如何在VC中调用EXCEL公式
写了一个工作上用得进度统计公式,用到了不少小知识点,其中一个知识点就是在VC中调用EXCEL的公式,现将程序和公式的使用情况贴到这里。 Range range; CString r1,r2; r1 = "B6"; r2 = "F6"; range = exl_result.range.GetRange(COleVariant(r1),COleVariant(r2)); range.SetFormula(COleVariant("=SUM(B3:B5)"));转载 2010-06-28 17:45:00 · 3791 阅读 · 0 评论 -
VC 导出的格式 Excel
<br />CFuncListCtrl& theCtrl = funcList;<br /> CHeaderCtrl* hdCtrl=theCtrl.GetHeaderCtrl();<br /> char text[256];<br /> int hCount=hdCtrl->GetItemCount();<br /> HDITEM hCol;<br /> CString str[50];<br /> for(int i=2;i<hCount;i++)<br /> {<br /> memset(text,转载 2010-06-28 17:54:00 · 1804 阅读 · 0 评论 -
VC导出数据到EXCEL
<br />我们制作应用软件的时候,经常要把结果以报表的形式输出,当前使用较为广泛的当然是Excel表格,本文简略介绍在VC++6.0中如何使用Excel2003的库函数并对其进行编程。先创建一个对话框工程,命名为VCExcel。在对话框中添加一个按钮,控件ID为ID_RUNEXCEL,界面如下(是不是很搞笑哇,不过没关系,它照样能实现强大的功能!)。 <br /><br /> 再在该按钮上添加消息BN_CLICKED,其消息映射函数为OnRunexcel(),下面我们的工作就是要完成这个OnRune转载 2010-06-28 17:34:00 · 1856 阅读 · 1 评论 -
VC创建EXCEL图表
<br />在EXCEL中手动能够执行的操作,在VC下,都能通过COM提供的技术来实现,下面是我在工作中使用智能指针对EXCEL的CHART操作的一点肤浅的认识。如果对VC操作EXCEL一点都不了解的话,建议先看看我写的上一篇日志,了解一下EXCEL的结构,因为下面很多内容都是基于上一篇文章。<br />要想生成一张图表,首先要了解图表由哪些元素组成,才能准确的操作这些元素,通过下图来说明:<br /> <br /><br /><br />首先,图表的形态是由图表类型和数据决定的,相同的数据不同的类型,会表转载 2010-06-28 17:39:00 · 2964 阅读 · 2 评论 -
VC获取EXCEL 表格的总行数
<br />工程进度统计小工具中的其他一些知识点,供日后查询:<br />1. 需要在InitInstance()中初始化COM库,不然无法在VC中使用Excel服务,创建Excel服务失败<br /> <br />CJinduNewApp::InitInstance()<br />{ <br />AfxEnableControlContainer(); <br /> <br />//增加此段<br />if (CoInitialize(NULL)!=0) <br />{ <br />AfxMessage转载 2010-06-28 17:44:00 · 5405 阅读 · 0 评论 -
vc automation 写excel文件
<br />1.类向导(ctrl+w),add class ---from a type library -----导入excel.exe(excel 2003)<br />2.包含头文件#include "excel.h"<br />3.编写代码,例:<br />CoInitialize(NULL);//启动excel进程 COleVariant vOpt(DISP_E_PARAMNOTFOUND, VT_ERROR); COleVariant covTrue((short转载 2010-06-28 17:57:00 · 2176 阅读 · 0 评论 -
两种VC操纵EXCEL的方法
<br /> 第一种方法,简单的,用CDatabase实现. 程序是一个基于对话框的,步骤:<br /> A,为了避免代码重复,设置下面几个全局变量(类范围的),要引入头文件<afxdb.h><br /> CDatabase m_db; //数据库<br /> CString m_dbdriver; //要生成的EXCEL文件的目录<br />转载 2010-06-28 14:28:00 · 1456 阅读 · 0 评论 -
ole automation vc结束Excel进程
<br />HWND hWndExcel = ::FindWindow ("XLMAIN", NULL); DWORD dExcelId; GetWindowThreadProcessId(hWndExcel,&dExcelId); HANDLE hExcelHandle = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dExcelId);//获取Excel进程句柄 HWND hWndExcel = ::FindWindow ("XLMA转载 2010-06-28 18:03:00 · 2274 阅读 · 2 评论 -
VC操作Excell中的Range.SetValue
<br />我完全按照Microsoft客户帮助和支持主页的程序例子做的, <br />http://support.microsoft.com/kb/178749/#top <br /><br />我改成操作EXCEL2003, <br />第9步的时候选择Office 2003 中的 Excel.exe 文件的默认位置为 C:/Program Files/Microsoft Office/Office11/Excel.exe <br />头文件为: <br />#includ转载 2010-07-01 09:51:00 · 5959 阅读 · 2 评论 -
VC操作excel表格(一)
1.The require files<br />When you start to program in VC, you must have the lib files of Excel. The next table will show that:<br />Office Version<br />Requirement files<br />Other files<br />Default Dir<br />Office 97<br />Excel8.olb<br />Excel.exe<br />C转载 2010-07-01 21:09:00 · 2083 阅读 · 0 评论 -
VC操作Excel文件保存问题
用VC对Excel文件进行写操作后,在程序结束前需要对一些对象进行收尾工作,如调用_Workbook::Save()方法(该方法是Microsoft提供的供VC调用的对Excel文件操作的标准方法,在文件excel9.cpp或excel.cpp中定义)保存文件。<br />问题就出现在这里,若选取要保存的Excel文件以前不存在则程序创建一个同名的空Excel文件,对Excel表的操作实际是对其同名副本的操作,Save()方法会触发一个"另存为"的对话框,需要覆盖原来同名的空Excel文件,否则写入Exce转载 2010-07-01 21:15:00 · 1583 阅读 · 1 评论 -
VC操作Excel的概述和一段代码
<br />HOWTO: Use MFC to Automate Excel and Create/Format a New Workbook <br />-------------------------------------------------------------------------------- <br />The information in this article applies to: <br /><br />M原创 2010-07-01 10:27:00 · 1898 阅读 · 0 评论 -
VC实现对Excel的操作
<br />特别说明以下代码需要MFC的支持,而且工程中还要包含EXCEL2000的定义文件:EXCEL9.H,EXCEL9.CPP<br />*****************************************************************************************************************<br />//*****<br />//变量定义<br />_Application app; <br />Workbooks book转载 2010-07-01 17:34:00 · 1560 阅读 · 0 评论 -
VC控制Excel
<br />void CControlExcelDoc::OnControlExcel()<br />{<br /> // TODO: Add your command handler code here<br /> COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,<br /> VT_ERROR),vtTrue((short)TRUE),vtFalse((short)FALSE);<br /> _Application *ExcelApp =转载 2010-07-01 21:00:00 · 2024 阅读 · 0 评论 -
使用VC++操作Excel文件
<br />转载:http://xfrog.blogbus.com/logs/24923682.html本文档适用于:Microsoft Foundation Classes (MFC), Microsoft Visual C++, 32-bit Editions, version 6.0 以上 Microsoft OLE 库 第一步:建立一个自动化工程启动VC 6.0,打开新建对话框,新建一个MFC AppWizard(exe)工程,这里工程明设置为TestExcel。进入MFC 应用程序向导,选择 基本转载 2010-07-01 09:22:00 · 1828 阅读 · 0 评论 -
如何自动化 Excel 使用 MFC 和工作表函数
步骤来创建项目1.请按步骤 1 通过以下 Microsoft 知识库文章文章要创建示例项目使用 IDispatch 接口和 Excel8.olb, Excel 9 .olb 或 Excel.exe 对于 Excel 2002 和 Excel 2003 类型库中定义成员函数中 12:178749 (http://support.microsoft.com/kb/178749/EN-US/) 如何创建自动化项目使用 MFC 和类型库2.在添加到 AutoProjectDlg.cpp, 顶部添加以下行:#in转载 2010-07-01 15:23:00 · 1794 阅读 · 1 评论 -
VC控制WORD使用模板
<br /> 给企业开发的项目中,客户经常要求将数据汇总显示并打印。站在程序员的立场上,简单数据的汇总打印可以采用VB自带报表,对复杂的数据用水晶报表或第三方打印控件。在企业中,汇总数据另一个目的是为了便于交流和共享资源,报表的格式通常固定,内容可以自己调整,他们对 Excel 和 Word 情有独钟。<br /> 刚完成的项目中,客户要求将汇总的数据以三种方式进行显示和打印:AutoCad、Excel 和 Word 文档中。前两种方式网上资源很多,对 Word 文档我找到例子不是很多。由于需要和 Au转载 2010-07-01 17:33:00 · 3209 阅读 · 0 评论 -
VC操作Excel
如今Excel是越来越重要了,在我们自己开发的程序中不免要和Excel打交道了。利用Automation技术,我们可以在不去了解数据库的情况下玩转Excel,而且你会发现一切竟如此轻松! 好了,咱们开始吧,我不喜欢用长篇累牍的代码来故弄玄虚,所以下面的代码都是切中要害的片段,总体上是个连贯的过程,包括启动Excel,读取数据,写入数据,以及最后的关闭Excel,其中还包括了很多人感兴趣的合并单元格的处理。 特别说明以下代码需要MFC的支持,而且工程中还要包含EXCEL2000的定义文件:EXCE转载 2010-06-29 18:12:00 · 1712 阅读 · 0 评论 -
VC++操作Excel对象
<br />HOWTO: Use MFC to Automate Excel and Create/Format a New Workbook <br /><br />-------------------------------------------------------------------------------- <br />The information in this article applies to: <br /><br />Microsoft Visual C++, 32-bit转载 2010-07-01 15:26:00 · 1983 阅读 · 0 评论 -
VC里面操作EXCEL 怎样设置单元格的边框
<br />VC里面操作EXCEL 怎样设置单元格的边框,如果有些单元格只设置上边框,或者设置下边框,怎么设置!?<br /><br /><br />COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR),<br />vtTrue((short)TRUE),<br />vtFalse((short)FALSE);<br /><br /><br />_Application* ExcelApp = new _Application;<br /><转载 2010-07-01 21:04:00 · 3435 阅读 · 0 评论 -
VC操纵EXCEL2003
<br />功能:设置单元格,风格,冻结窗格。以及如何将对应的VB代码翻译成VC<br />#include <iostream><br />using namespace std ;<br />#import "C:/Program Files/Common Files/Microsoft Shared/OFFICE11/mso.dll" rename("RGB", "MSRGB")<br />#import "C:/Program Files/Common Files/Microsoft Shared/转载 2010-07-01 21:13:00 · 1613 阅读 · 0 评论 -
Excel2000/XP和PowerPoint2000/XP内部COM插件的实现
<br />下载示例源代码一:EXCEL内部插件<br />下载示例源代码二:PowerPoint内部插件<br /><br />一、简介<br /><br />Excel2000和PowerPoint2000下内部COM插件的编程实现这篇文章,实际上是< Office2000下内部COM插件的编程实现> 和< Word2000/XP中内部COM插件的编程实现>二篇文章的续篇。采用上篇文章< Word2000/XP中内部COM插件的编程实现>中写作风格,不再重复哆嗦大部分前面文章里已经讲过的内容了,只将重点转载 2010-07-14 15:04:00 · 1556 阅读 · 0 评论 -
使用自动化打开并打印WORD文档
<br />摘要<br /><br />这篇文章讲述了如何在Visual C++5.0或6.0中自动打开并打印Microsoft Word文档。<br /><br />更多信息<br /><br />你可以将文章中的代码拷贝到自己的MFC .cpp文件中的事件定义消息处理函数中去。然而,这些代码主要是为了阐述如何处理在Msword8类型库中定义的IDispatch接口与成员函数。读懂并理解了这些代码你就可以修改这些例子,或写些打开并打印Microsoft Word文档的程序。<br />因为Word2000转载 2010-07-14 15:08:00 · 1964 阅读 · 0 评论 -
如何使用 MFC 自动化 Excel 2000 和 Excel 2002 和 Excel 2000 和 Excel 2002 的一个区域中获取一个数组
<br />若要返回 $ 多单元格范围中的 $ 值而无需查询单元格一个接一个,您必须返回一个 VARIANT 值使用 GetValue 成员函数的 Range 对象。您然后构造一个 SAFEARRAY 基于您从 GetValue 返回该 VARIANT。在您有了该 SAFEARRAY 后您可以访问使用 GetElement 元素。以下步骤演示此过程,并演示如何访问字符串和数字的元素。自动完成 Microsoft Excel 2000 和 2002年的笔记<br /> // OLE Variant转载 2010-07-14 15:28:00 · 1936 阅读 · 0 评论 -
用VC6.0编写Word插件(Office2K、XP、03)
<br />源代码下载<br />最近因为工作的需要,学习了一下Office插件的编写方法。在走了不少弯路以后,最后终于把编写插件的原理给搞清楚了,不敢独享,拿出来跟大家共享一下。下面就以Word 2003为例,向大家简单介绍一下。<br />第一步,利用向导生成一个ATL COM AppWizard的新工程。<br /><br /><br />图1<br />在向导的第一个对话框中,服务器类型选择Dynamic Link Library(DLL),然后单击Finish即可。 <br /><br />图2<转载 2010-07-14 15:05:00 · 1643 阅读 · 0 评论 -
Office2000下内部COM插件的编程实现
<br />下载示例源代码<br /><br />简介<br />你也许曾在Office2000下的Word2000、Access2000、Excel2000、PowerPoint2000等软件中的工具条或菜单条资源中,看到一些其它软件加入的新的自定义工具条按钮或菜单条,当点击它们时,会有其不同的响应发生。下面,让我们也来实现这些功能,需要说明的是,在这里我们不用VB/VBA来实现它,而是用VC6中所带ATL(活动模板库)3.0来开发具有这种效果的Office2000内部COM插件。在Office2000中转载 2010-07-14 15:07:00 · 1509 阅读 · 0 评论 -
Visual C++ 中操纵 MS Word 123
<br />源代码下载<br /><br /> 使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程序中调用。仔细阅读下面的说明,并下载源文件进行参考,你就可以一步一步地掌握这个技术。祝朋友们学习快乐。<br /><br />一、概念<br转载 2010-07-14 15:50:00 · 1392 阅读 · 0 评论 -
自动运行的MS-OFFICE应用程序
<br />你可以程序化的打开POWERPOINT,打开任何展示,到你想观看的幻灯片,运行幻灯片放映等等。<br /> 通过下面给出的同样的步骤,你可以自动运行WORD,EXCEL,或者任何MS-OFFICE应用程序。<br /> (1) 创建一个基于应用程序的对话框,在appwizard的第三步,选择AUTOMATION复选框。<br /> (2) 为START , RUN, CLOSE, FIRST SLIDE, LAST SLIDE, PREVIOUS SLIDE和NEXT SLIDE函数创建按转载 2010-07-14 15:57:00 · 1437 阅读 · 0 评论 -
VC++中调用word进行word表格的填写
<br />下载源代码<br /> 在实际应用中,编程者往往喜欢程序能自动生成word说明文档,说明程序运行的状况或运行的结果;或者程序能提取数据库的内容生成word表格,使用户能方便的查看和修改,打印。但是VC++中调用word的确不容易,特别是对word中各种函数的使用,本文以作者的工作经验详细介绍一下如何调用word和进行word表格的填写,有同样需求的编友也可查看一下MSDN中的Automation Microsoft Office 97 and Microsoft office 2000。下面介转载 2010-07-14 14:59:00 · 1754 阅读 · 0 评论 -
如何使用MFC和类型库创建自动化项目
<br />摘要<br /><br />本文详细介绍了如何自动化像Microsoft Office这样支持COM的应用程序。<br /><br />更多信息<br /><br />下面部分介绍了如何创建MFC项目。采用Microsoft Excel举例,你可以将前8个步骤用于任何项目,修改9-15步用于不同的应用程序。<br /><br />创建自动化项目1.在Microsoft Developer Studio中,创建"MFC AppWizard(exe)"项目,命名为"AutoProject."2.在第转载 2010-07-14 15:10:00 · 1414 阅读 · 0 评论 -
如何通过使用 Visual c + + 5.0 或 Visual c + + 6.0 中的 Microsoft 基础类具有自动化 PowerPoint
<br />通过使用自动化在 PowerPoint 中,您可以以编程方式打印、 显示幻灯片,和执行大多数您可以以交互方式执行该操作。 请按照下列步骤以生成并运行自动化示例:创建一个新的基于对话框的 MFC EXE 项目。 将按钮添加到您的对话框和 BN_CLICKED 处理程序中,为它。 打开 类向导 (Ctrl + W),单击 自动化 选项卡、 单击 添加类,并选择 从类型库。 转到目录 (例如对于是 Files/Microsoft Office/Office) Office 的安装位置,然后选择 Msp转载 2010-07-14 15:15:00 · 1981 阅读 · 0 评论 -
如何自动执行 Microsoft Word 执行邮件合并使用 Visual c + + 和 MFC
生成自动化示例<br />请按照步骤 1 到 12 中下面的 Microsoft 知识库文章:178749 (http://support.microsoft.com/kb/178749/ ) 如何创建自动化项目使用 MFC 和类型库 注意在步骤 9,选择正确的类型库中的您的 Word 版本。在 $ 查找上,请参阅下面的引用部分有关的信息,以在正确类型库。 包含语句的 stdafx.h 文件后,在 $ AutoProjectDlg.cpp 中添加 包含 语句 (msword8.h、 msword9.h转载 2010-07-14 15:26:00 · 1743 阅读 · 0 评论 -
对ppt文件的一些简单操作
<br />1.添加ppt类型库文件,"msppt.olb"(office 2003中)。<br /> <br />2.头文件 #include “msppt.h”。<br /> <br />3.在应用程序中,InitInstance函数中,添加<br />if (!AfxOleInit()) <br />{<br />AfxMessageBox("Failed to initialize OLE"); <br />return FALSE; <br />}<br /> <br />4.In header转载 2010-07-14 16:38:00 · 2221 阅读 · 1 评论