Office
文章平均质量分 83
YapingXin
航天/航空/军工装备行业,航电系统、遥测/测发控系统、系统故障诊断、预测与健康管理(PHM)高级系统架构师。
展开
-
C# Tips: 解决Office PIA编程中的方法冲突
欲调用Excel.Worksheet的Activate方法,结果遇到了以下Warning:Ambiguity between method 'Microsoft.Office.Interop.Excel._Worksheet.Activate()' and non-method 'Microsoft.Office.Interop.Excel.DocEvents_Event.Activate原创 2012-01-31 19:39:57 · 2134 阅读 · 0 评论 -
VBA Tips:Your first VBA program
假如你从来没有写过VBA,那么本文就带领你写你有生以来第一个VBA程序。本文以Word 2007为例。一、在Ribbon中显示Developer tab看下图,我的Word 2007的Ribbon菜单中有Developer tab,这个在我们编写、执行VBA的过程中非常有用。但是,你的Word的Ribbon菜单中未必有这一项,为什么呢?因为你可能没有启用它。原创 2012-07-31 23:27:24 · 1577 阅读 · 0 评论 -
IT Skill: How to Recall Email Message in Outlook 2007
在《杜拉拉升职记》里面,有个倒霉的Helen不小心把一封相当私密的邮件发给了全体,结果被 Fire,这个狗血剧情大家都记得吧。在现实生活中,不小心发出了一封尚在编辑中的邮件,这种事也是难免碰上的。怎么办?立即召回(Recall)它!对于刚刚发出去的这封邮件,在“发件箱(Sent Items folder)”里面找到它,打开,在打开这封邮件的Ribbon界面中,选择:Action原创 2012-07-19 19:31:41 · 4119 阅读 · 0 评论 -
Office PIA:关于Office PIA应用程序的部署
基于Office PIA的应用程序,要想在客户的电脑上顺利地运行起来,可以有这几种办法:方法一:让客户在安装Office的时候顺便安装“.Net可编程性支持”(.Net Programmability Support)看截图,不解释:方法二:让客户安装Office PIA比如说Office 2007的PIA:在微软网站的下载频道搜索“Office 2007原创 2012-03-14 14:19:01 · 15320 阅读 · 4 评论 -
Office PIA:代码示例:生成Excel文件的ExcelApp类
这个类的设计背景是:我需要兼容Excel 2007和Excel 2010的App。我只需要考虑写文件而不用考虑读文件。我只实现了一些必需的功能(可能其中没有涵盖您所需要的功能,但不难扩展)。我只需要输出Excel 97-2003 Workbook (*.xls) 这种格式。此格式对应的枚举值是:XlFileFormat.xlExcel8我引用了Excel 2007的PIA和部署相关的问原创 2012-02-17 18:45:33 · 5068 阅读 · 0 评论 -
用NPOI读.xls文件中的表格
前面我们通过一系列文章介绍了Office PIA操作Excel文档的方法,但这并不是操作Excel文档的唯一方法。本文提供的代码示例通过NPOI来读Excel,这样的实现方法有三个好处:运行环境不依赖于Office Application;由于不需要打开Office Application进程,直接分析文件,所以执行速度快;可并发。但是本文的例子也有局限,这个局限并非没有办法解决,只是原创 2012-03-05 09:26:50 · 3503 阅读 · 2 评论 -
Office PIA:注意Office App进程的管理
在Office PIA应用程序中,对Office App的管理不容忽视。在正常情况下,程序launch office app以后,通过interop的COM组件进行文档操作,然后保存、关闭office app。但这个过程在出错的情况下,office app可能还没有关闭,并且依然占用着所操作的文件,这当然不是我们期望看到的。以ExcelApp这个类为例,看看我在里面是怎么考虑的。以下贴出一原创 2012-02-17 18:30:38 · 1971 阅读 · 0 评论 -
当Office PIA遭遇C# 4.0
上回书说到,最近我在写一个Office PIA的程序。我先是写了一个独立的小工程,完美地实现了对Excel Workbook的各种操作,并且也反复作了测试。然后往我们真实的项目里合并。这里有个伏笔:我们team用的是Visual Studio 2008,而我个人用的是Visual Studio 2010。我没忘记在我的Visual Studio 2010工程里面把.Net Framework的原创 2012-02-13 17:05:36 · 3296 阅读 · 4 评论 -
Office PIA:绕过Bug Q320369:Old format or invalid type library" error when automating Excel
测试一定要充分!接上回书,话说我提交了Office PIA的代码以后,测试的同学就展开了充分的测试。在此之前我可是信心满满的,自以为已经做了充分的测试了,应该测不出什么bug来了。可是,很快,测试的同学就报了一个Exception issue给我:System.Runtime.InteropServices.COMException (0x80028018): Old format or原创 2012-02-13 18:22:42 · 2895 阅读 · 0 评论 -
Office 2003 PIA编程的问题:文件保存为XlFileFormat.xlExcel7格式时Range.Merge()失效
先抱怨一下:最近在写一个极其恶心的程序:生成Excel reporting。说这个程序恶心,是因为,实现这个报表的方法有很多,我却不得不用我心目中最差的一种方式来实现。先说说我心目中最好的方式:应该是用NPOI这样的开源库来实现。这个开源库可以脱离开Office软件来独立地生成Excel文件(包括.xls格式和.xlsx格式)。其实实现这种功能的开源库很多,为什么用NPOI呢?因为:N原创 2012-02-06 00:34:14 · 6954 阅读 · 16 评论 -
VBA Tips:为VBA program添加数字签名
在上一篇文章《VBA Tips:Your first VBA program》中,我们创建了一个最简单的VBA程序,把它保存为.docm文件。现在让我们打开它。假设你的Word 2007为默认设置,那么在打开这个文件后,你将会看到一个Security Warning,如下图所示:这是Office 2007对我们的计算机的一种保护,虽然我们知道刚才我们编写的这个VBA程序肯定是安全的,但是这原创 2012-07-31 23:57:08 · 2608 阅读 · 0 评论