当前位置:编程学习 > C#/ASP.NET >>

生成exe调用excel,word,access等而需要引用


本人做科研用vb.net做了一个小软件,需要调用excel,word和Access;在调试和安装情况下都可以使用。但是为了在课题组内使用方便,希望在每台电脑上拷贝一个exe文件就可以使用,而不必每次都在每台电脑上安装一遍或把包括应用文件的文件夹一起拷贝过去。请问有没有办法解决这个问题。我知道vb在调用excel的时候生成的exe就可以到处使用的。请各位大侠赐教,感激不尽。 excel exe access vb.net vb --------------------编程问答-------------------- 如果你以COM的方式调用Office,那么不幸了,每台机器都要安装Office. --------------------编程问答--------------------
引用 1 楼 findcaiyzh 的回复:
如果你以COM的方式调用Office,那么不幸了,每台机器都要安装Office.


谢谢你的回答!是每台电脑上都有安装office的,我意思是我引用了office,word,access,excel,adobe等之后,在debug或setup文件夹中就会有些dll文件,如:office.dll;Microsoft.Office.Interop.Excel.dll等,当独自取出EXE文件启东使用就出现缺少这些引用文件。我想能不能把引用封装到exe中去,不用每次都拷贝debug文件或使用setup去安装。 --------------------编程问答--------------------
引用 2 楼 ZhaoBX413 的回复:
引用 1 楼 findcaiyzh 的回复:如果你以COM的方式调用Office,那么不幸了,每台机器都要安装Office.

谢谢你的回答!是每台电脑上都有安装office的,我意思是我引用了office,word,access,excel,adobe等之后,在debug或setup文件夹中就会有些dll文件,如:office.dll;Microsoft.Offic……


应该也没办法,只能连dll一起copy. --------------------编程问答-------------------- 你把dll里面的东西反编译过来。可以的 --------------------编程问答-------------------- 1.你可以不引用PIA,用CreateObject+后期绑定

2.VS2010开始支持嵌入互操作类型,把IA的“嵌入互操作类型”设置为True,编译器会自动把用到的COM类型嵌入你的程序集。这样,生成的程序集实际上是没有对PIA的引用的,运行时当然也就不会需要PIA。

3.上面两种方法都是消除对IA的引用,你也可以引用IA,然后找个打包器之类的东西,毕竟程序也许还引用了其他非IA程序集。
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,