在使用vs2005、 vs2008、 vs2010 制作包含 word等office的应用程序时,有时找不到对Microsoft.Office.Core、 Microsoft.Office.Interop.Word和VBIDE 三个文件的引用,此时,如果已经安装了office 2003,那么可能是选择“典型安装”或者是“最小化安装”,那需要从“控制面板”中将其删除,然后再次安装,并选择“完全安装”,安装之后再使用以下两 种方法之一即可。
在选择“完全安装”office 2003 后,使用以下两种方法之一即可。
方法一
首先在“解决方案中”展开各个项目
1. 解决引用Microsoft.Office.Core --> Interop.Microsoft.Office.Core.dll
先在各个项目“引用”中,删除对Microsoft.Office.Core的引用,然后再右击引用-->添加引用-->在COM页面的下拉
框中,找到Microsoft Office 11.0 Object Library ,按“确定” 就将其加入到 引用
2. 解决引用Microsoft.Office.Interop.Word --> Microsoft.Office.Interop.Word.dll
不用删除对Microsoft.Office.Interop.Word
的引用,直接右击引用-->添加引用-->在COM页面的下拉框中,找到Microsoft Word 11.0 Object
Library ,按“确定” 就将其加入到 引用中
3. 解决引用VBIDE --> Microsoft.Vbe.Interop.dll
完全安装了office 2003之后,VBIDE 的引用一般就自动修正好了。
方法二
编辑一个批处理文件,将几个动态库文件,复制到某一个根文件夹,比如D:以方便引用。然后右击引用-->添加引用-->“浏览”页面,从中找到它们按“确定”就将其加入到引用中
Interop.Microsoft.Office.Core.dll或者office.dll,Microsoft.Office.Interop.Word.dll,Microsoft.Vbe.Interop.dll
1. 使用记事本 编辑一个批处理文件比如 cwv.bat,内容如下:
REM 复制 引用Microsoft.Office.Core的动态库
cd %windir%assemblyGACOffice11.0.0.0__71e9bce111e9429c
copy Office.dll d:
REM 复制 引用Microsoft.Office.Interop.Word的动态库
cd %windir%assemblyGACMicrosoft.Office.Interop.Word11.0.0.0__71e9bce111e9429c
copy Microsoft.Office.Interop.Word.dll d:
REM 复制 引用VBIDE的动态库
cd %windir%assemblyGACMicrosoft.Vbe.Interop11.0.0.0__71e9bce111e9429c
copy Microsoft.Vbe.Interop.dll d:
2. 双击执行该批处理文件,就将引用的动态库复制到 d:,以方便添加引用。最好到MS-DOS方式下执行,以便切确知道是否真正拷贝。
3. 直接右击“解决方案”的引用-->添加引用-->在“浏览”页面,在D:找到选择它们,按“确定”就将其加入到引用中
更多内容,可以参考http://msdn.microsoft.com/zh-cn/library/aa159923(office.11).aspx
注意:以上文件是部署或者注册了的,它们位于%windir%assemblyGAC或者%windir%assemblyGAC_MSIL下
面,使用windows上的搜索是找不到的。要想找到它们,需要切换到MS-DOS命令下(开始--运行,输入cmd按回车,或者开始--程序--附件
--命令提示符),然后再使用 cd
c:,转到在c:根目录下,使用以下3个命令,将文件所在的位置输出追加到文件aa.bat中,然后使用记事本编辑到上面需要的方式。
dir Office.dll /s >> aa.bat
dir Microsoft.Office.Interop.Word.dll /s >> aa.bat
dir Microsoft.Vbe.Interop.dll /s >> aa.bat