背景:一年前,某项目需要使用到Excel进行数据录入,考虑到很多用户还是使用XP+Office 2003,所以开发的时候直接使用Excel 2003版本进行VBA开发。也许很多人都会说,Win10都出了,微软的Office都要免费了,还用Office2003???但客户是上帝!

大概开发过程:用户直接打开一个Excel文件,Excel文件提示用户登陆;登陆之后,看到待办任务;选择待办任务,打开对应的Excel表单模板进行数据录入;保存提交。以上操作,Excel里的VBA都会以服务器里的服务服务交互(废话)。

问题来了,因为VBA是直接嵌入到Excel文件里的,只有一个项目的时候,维护更新起来还不是很麻烦,但是当其它项目也想使用此Excel程序,就头痛了,总不能每个项目一套VBA代码吧。。。

Why not VSTO (Visual Studio Tools for Office) ?

VSTO的受众是“专业开发者”,可以理解为靠它赚钱,如果是处理日常工作中的问题vba更合适。OK,我们好歹也是“专业开发者”,那试试用VSTO吧。

相信很多人都跟我一样,开发机装的都是Win7+、VS2012+、Office2010+。

1、VS2012和Office2010环境

没有犹豫的,我首先是尝试直接在VS2012和Office2010下进行Excel2003 VSTO 的开发。新建 - Office - Excel2010工作薄 - 确定,在向导页面,下拉选项里确实也可以看到97-2003选项。选择03格式后,生成、F5都没有问题。

接下来,简单制作了个安装包。在开发机安装,成功运行!关键的是,把安装包拿到虚拟机(xp、office2003),运行时提示未能加载公共语言运行库,相关的Net Framework是已经安装了的!P.S:如果不是用安装包部署,直接拷VS Bin目录下的文件到虚拟机,会提示未能找到addin元素。

上面这个问题纠结了一阵之后,才终于意识到VS2010以上的版本是已经不支持Office 2003 的VSTO了。

2、VS2005和Office2003环境

重新开了个虚拟机,然后从网上下载了个VS2005的中文版(虽然说“过时”了,但网上还是有一大堆下载的)。然后再下载Office2003完整版。看到园子这篇文章说VS和Office的安装先后顺序,我还是特意先安装Office的。

把VS2005的SP1也打上了。

来看看VS2005令人念旧的界面。

在VS2005,新建Office项目时,默认只有那么几个选项,如下图所示。

生成、调试什么的,一切都还正常。然后准备部署。嗯,对了,贴上经典的两篇MSDN文章的链接。

Deploying Visual Studio 2005 Tools for Office Solutions Using Windows Installer (Part 1 of 2)

Deploying Visual Studio 2005 Tools for Office Solutions Using Windows Installer: Walkthroughs (Part 2 of 2)

第一眼看上去,还真的是“长篇大论”,满眼的E文,看到头都有点痛,一目十行地看了一下,然后动手新建VS Setup Project。

在添加Prerequisites(系统必备)时,发现列表里打不到Office runtime和Office tools。好吧,又是百度(基本上没有找到有用的),又是谷歌,还把Office重装了,Vs修复了,那几个东西依旧躲猫猫。

山穷水尽疑无路的时候,重新看回Deploying Visual Studio 2005 Tools for Office Solutions Using Windows Installer (Part 1 of 2)。耐心地看下去,蓦然发现:“

Adding the Visual Studio 2005 Tools for Office Packages to the Bootstrapper

The following instructions describe how to add the packages listed above to the bootstrapper package directory. These changes need only be made once and only on the development computer.

For this task, you must have the files that are available in the Windows Installer that accompanies this article. You must prepare the files before you copy them into the bootstrapper package directory.

Preparing the Office Application and Office Primary Interop Assemblies Checks

You must compile the Office application and primary interop assembly checker program samples.

......”

晕啊,不是所有的教程贴都是有图有真相的。如何添加Office包到安装启动器的步骤被我忽略了!下面对原文的操作步骤简单的用自己话翻译下来。

 ①安装.NET Framework 2.0 software development kit (SDK) and the Windows Platform SDK (在线安装链接)

这些默认是没有和vstor一起安装的,需要自己去微软下载中心下载安装。后者在线安装时间比较长,需要耐心等待。建议直接下载硬盘版本,本地完全安装。

如果用的是 Microsoft Visual Studio Team System,则这些不是必需的。

②编译检查程序

原文有提供一个代码示例和部署工具的集合安装包,需要下载并安装,然后在

C:\Program Files\Microsoft Visual Studio 2005 Tools for Office Resources\VSTO2005 Windows Installer Sample

可以看到相关的文件,简称此目录为{SamplesDir}。

打开VS2005命令提示,cd到{SamplesDir}\projects\Checks目录。

先后输入以下命令:

cl.exe -I "C:\Program Files\Microsoft Platform SDK\Include" /Oxs /MT /GS AppCheck.cpp  

此时可以看到目录下面多出了几个文件

cl.exe -I "C:\Program Files\Microsoft Platform SDK\Include" /Oxs /MT /GS PIACheck.cpp "C:\Program Files\Microsoft Platform SDK\Lib\advapi32.lib"

如果没有成功安装 the Windows Platform SDK,会提示无法打开输入文件哦。 然后把生成的PIACheck.exe 复制到{SamplesDir}\packages\Office2003PIA.

③准备Office 2003 primary interop assemblies(交互程序集)
下载并解压 Office 2003 Update: Redistributable Primary Interop Assemblies ,然后把解压得到的O2003PIA.msi 复制到{SamplesDir}\packages\Office2003PIA文件夹。
④准备Visual Studio 2005 Tools for Office Runtime(运行时)下载 ,把vstor.exe 复制到{SamplesDir}\packages\VSTORuntime文件夹
⑤准备Visual Studio Tools for Office Language Pack (语言包)下载,把 vstolp20.exe 复制到 {SamplesDir}\packages\VSTOLP文件夹
⑥把打包信息目录拷贝到启动加载器目录原文是这样说的
In Visual Studio 2005 Tools for Office, the default directory is here:
C:\Program Files\Microsoft.NET\SDK\v2.0\BootStrapper\Packages\
In Visual Studio Team System, the default directory is here:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages

我的是VS2005 SE、Windows Server 2003,找不到第一个路径,就只好把它拷到第二个目录了。
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages

到此,算是告了一个基本段落,重新打开VS2005,可以看到在系统必备里,那几个东东是终于跑出来了!

 
 

转载于:https://www.cnblogs.com/oneivan/p/4243574.html

尝试Office 2003 VSTO的开发、部署相关推荐

  1. Office 2003 主 Interop 程序集的安装和使用

    转字:http://www.microsoft.com/china/msdn/library/office/office/OfficePrIntopAssFAQ.mspx?mfr=true 摘要:了解 ...

  2. 接触vsto,开发word插件的利器

    研究word插件有一段时间了,现在该是总结的时候了. 首先咱们来了解下什么是vsto?所谓vsto,就是vs面向office提供的一个开发平台.一个开发平台至少包含两个要素:开发工具(sdk)和运行环 ...

  3. Office PIA:关于Office PIA应用程序的部署

    基于Office PIA的应用程序,要想在客户的电脑上顺利地运行起来,可以有这几种办法: 方法一:让客户在安装Office的时候顺便安装".Net可编程性支持"(.Net Prog ...

  4. Microsoft Office 2003 和不同 Office 环境下的文件共享

    更新日期: 2004年09月27日 摘要:本文档提供了 Microsoft Office 2003 文件格式概述.检查了文件迁移共存战略.定义了可用的信息共享选项,还提供了其他资源参考. 本页内容 简 ...

  5. 开始学习 Microsoft SharePoint: Building Office 2003 Solutions

    书名:Microsoft SharePoint: 构建Office 2003 解决方案 作者: Scot P. Hillier 出版:Apress ISBN: 1590593383 页数: 512 版 ...

  6. VDI序曲二十三 制作OFFICE 2003应用程序虚拟化序列

    APP-V平台由三个重要组件构成:APP-V排序器.用于虚拟应用程序交付和管理的APP-V管理和流式处理服务器以及APP-V客户端.并且在虚拟环境中不会包含不必要的文件和设置,让IT管理员按需交付应用 ...

  7. 开启Office 2003出现要安装PRO11.MSI解决方法 (zhuan)

    http://allanfan.blog.51cto.com/520839/401485 开启word2003时.都会出现一个安装视窗.然后显示"您正在尝试使用的功能是在无法使用的网络资源上 ...

  8. 尝试:Script Lab,开发模式之知识储备//SL02

    前期00:深度:从 Office 365 新图标来看微软背后的设计新理念 前期01:尝试:Script Lab,快速 Office 365 开发工具 //SL01 本期02:尝试:Script Lab ...

  9. [紧急问题和解决方案] 无法打开被权限管理服务(RMS)加密的Office 2003文档

    在2009年12月11号以后,我们发现了关于"无法打开被'权限管理服务'(RMS)加密的Office 2003文档"的紧急问题.为了避免对您的业务任何可能的影响,特提前向您介绍症状 ...

最新文章

  1. 【建站系列教程】2.3、分享一些小说的api接口
  2. java 属性自定义配置,将自定义FXML属性设置为自定义javafx组件的参数
  3. 【Linux入门到精通系列讲解】Ubuntu下使用gcc编译并运行C程序
  4. 科大讯飞语音引擎_科大讯飞的1024:语音技术进一步突破,发布专用芯片
  5. Java线程池原理及使用
  6. 我对模板模式和策略模式的理解
  7. 配置开发者本地hadoop-3.0.0环境
  8. “Hello,Github!——如何配置并上传一个已有项目到Git上
  9. mysql主从复制故障处理_MySQL主从复制故障处理一例
  10. java中将数字颠倒的工具类,java开发中常用的数字工具类
  11. 检查密码 (15 分)
  12. Oracle修改字段类型方法总结
  13. Javascript实现鼠标框选元素后拖拽被框选的元素
  14. Ubuntu-vim 命令
  15. mysql checkpoint_MySQL checkpoint深入分析
  16. 史上最全面的C语言的学习路线及方法
  17. es 的 refresh 策略设置
  18. 博科br310交换机级联
  19. 【D3.js数据可视化系列教程】(三十六)-- 冰柱图
  20. 程序员传奇:我外婆是个程序员

热门文章

  1. Java构建子类对象时的顺序
  2. Android Studio导入项目非常慢的解决办法
  3. in-place数据交换
  4. [单选]物联网产业链的主要产品不包括下列哪一项 - 关于物联网(主讲:柳毅)笔记...
  5. APUE Chapter 1 - UNIX System Overview
  6. pursuit of happiness
  7. android网络重试机制,okhttp源码解析(四):重试机制
  8. linux下挂载iso镜像的方法
  9. linux 服务器账号及安全杂谈
  10. 蓝桥杯 2011年第二届C语言初赛试题(5)