我的VSTO之路:序
原文:我的VSTO之路:序
VSTO是微软提供给.Net开发人员的一个接口,通过他我们可以对Office程序做一些处理。但是这个接口并不尽善尽美,相比微软的很多其他产品,VSTO的稳定性并不好,相关的文档也很少。这种情况下,很多问题需要我们程序员自己去克服。我自己从08年进了现在这家公司,断断续续做VSTO开发已经快2年半了,不敢说对VSTO精通,但至少已经有了深入的解,尤其对开发中的一些Trick和一些Bug。准备写点东西记录一下这两年来的心路历程。同时也感慨于国内的VSTO文档资料实在匮乏,我自己在开发过程中走了不少弯路,希望我写的这些文档能对后来的开发者们有所帮助。
我喜欢在写文档之前先准备一个提纲,然后再往里面填充,所以在序里面,我先列一下我准备写的主要内容
- VSTO基本知识
- 创建项目
- 添加Ribbon
- 添加Task Panel
- Word基本知识
- Word Object Model 介绍 (Application、Document、Range、Selection和Bookmark)
- Application对象
- Document对象
- Range对象
- Selection对象
- Bookmark对象
- 插件:自定义Search面板
- Word深入开发
- 修改右键菜单
- 往文档中插入内容
- 添加超链接、书签
- 基于选中内容,显示悬浮框
- 遗留问题
- Outlook相关知识
- Outlook的基本结构
- 获得Outlook的目录树
- 捕获新邮件和邮件移动
- 修改Outlook右键菜单
- 通过VSTO新建邮件或联系人
- Outlook Form Region的使用,以及扩展Outlook联系人的内容
- 遗留问题
- Excel相关知识
- 修改Excel中,Cell的内容和样式
- 获得Excel中所有内容,即有输入的Cell
- 修改Excel右键菜单
- 遗留问题
- Smart Tag
- VSTO Smart Tag的开发
- COM Smart Tag的开发
- 发布VSTO程序
- Click once方式
- 安装包方式
- VSTO之外
- 对于C#中对于Excel数据的导入与导出
*这些文档除了Smar Tag是针对Office 2007的之外,其他的内容基本适用于Office 2007~Office 2010。另外,抗议一下微软,居然在Office 2010中废除了Smart Tag大部分的功能。
**在博客园里面,没有找到Office的相关分类,只能先放到WinForm区了
我的VSTO之路:序的更多相关文章
- 我的VSTO之路(二):VSTO程序基本知识
原文:我的VSTO之路(二):VSTO程序基本知识 开始之前,首先我介绍一下我的开发环境:VS2010 + Office 2010,是基于.Net framework 4.0和VSTO 4.0.以下的 ...
- C蛮的全栈之路-序章 技术栈选择与全栈工程师
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验, ...
- 我的VSTO之路(五):Outlook初步开发之联系人扩展
原文:我的VSTO之路(五):Outlook初步开发之联系人扩展 上一讲我们完成对Word的介绍,文本开始,我将着重介绍Outlook.Outlook是微软Office中一个非常实用的工具,尤其在一个 ...
- 我的VSTO之路(四):深入介绍Word开发
原文:我的VSTO之路(四):深入介绍Word开发 在上一篇文章中,我介绍了Word的对象模型和一些基本开发技巧.为了更好的介绍Word插件开发,我为本文制作了一个Word书签的增强版,具体功能是让用 ...
- 我的VSTO之路(三):Word基本知识
原文:我的VSTO之路(三):Word基本知识 在前一篇文章中,我初步介绍了如何如何开发一个VSTO程序,在本文中,我将进一步深入介绍Word的插件开发.Word是一个大家在日常工作中一直接触的文档工 ...
- 小白的python之路 序
计算机专科毕业,.net开发已有8年有余,中途断断续续,似懂非懂,积累了一些经验知识,但是不求甚解,属于那种一瓶不满半瓶子晃荡,这么一个状态. 主要从事web开发,涉及一些前端jq等,还有接口开发,搜 ...
- C蛮的全栈之路-node篇(二) 实战一:自动发博客
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...
- C蛮的全栈之路-node篇(一) 环境布置
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...
- 【重走Android之路】【开篇】序
[重走Android之路][开篇] [序] 本人Nodin,偶尔也叫MoNodin,朋友们都喜欢叫我丁,还有个笔名叫陌上幽人,文艺时叫恋风,发奋时叫不肯腐烂的土壤...也许你觉得我 ...
随机推荐
- iOS-CALayer中position与anchorPoint详解
iOS-CALayer中position与anchorPoint详解 属性介绍 CALayer通过四个属性来确定大小和位置, 分别为:frame.bounds.position.anchorPoint ...
- ios从相册:摄像头中获取视频
ios从相册/摄像头中获取视频 如何从相册中获取视频 使用的是一个和获取照片相同的类UIImagePickerController //相册中获取视频 - (IBAction)clickViedoOF ...
- [转] Creating a Simple RESTful Web App with Node.js, Express, and MongoDB
You can find/fork the sample project on GitHub Hey! This and all my other tutorials will soon be mov ...
- Android制作粒子爆炸特效
简介 最近在闲逛的时候,发现了一款粒子爆炸特效的控件,觉得比较有意思,效果也不错. 但是代码不好扩展,也就是说如果要提供不同的爆炸效果,需要修改的地方比较多.于是我对源代码进行了一些重构,将爆炸流程和 ...
- python s12 day2
python s12 day2 入门知识拾遗 http://www.cnblogs.com/wupeiqi/articles/4906230.html 基本数据类型 注:查看对象相关成员 var, ...
- EntityFramework 中生成的类加注释
EF5在生成实体类时获取不到数据库中表的说明字段,需要使用单独的t4模板来获取 下载文件 将文件与edmx 放同一文件夹 1.在生成类的t4模板中加入 <#@ include file=&quo ...
- EF FluentAPI映射一对多 关系时候报错
提示很明显,不可为空的外键为空了,但是 问题是,我只是初始化 关系映射而已:见代码 public ColumnsCategoryMapConfiguration() { ToTable("C ...
- 在iframe中获取iframe外的对象
parent.document.getElementById("dom ID"); $($(parent.document.getElementById("video-i ...
- Java线程(学习整理)--4---一个简单的生产者、消费者模型
1.简单的小例子: 下面这个例子主要观察的是: 一个对象的wait()和notify()使用情况! 当一个对象调用了wait(),那么当前掌握该对象锁标记的线程,就会让出CPU的使用权,转而进入该对 ...
- Thinkphp 事物问题
$m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->startTrans();//在第一个模型里启用就可以了,或者第二个也行 $result= ...