Excel 请问安装VSTO2013后无office2013经典菜单开发菜单

2008年10月 Delphi大版内专家分月排行榜第三
2008年1月 扩充话题大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。请问安装vsto之后无office开发菜单【visualstudio吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:21,191贴子:
请问安装vsto之后无office开发菜单收藏
新建-项目-无office 选项的菜单。如果在不重新安装vsto的基础上,能否解决?现在此感谢大家了!
登录百度帐号推荐应用拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(38c4-ua98).
重新安装浏览器,或使用别的浏览器一般客户计算机专业水平不高,但是有一些Office水平相当了得,尤其对Excel的操作非常熟练。因此如果能将产品的一些功能集成在Office中,将会有很好的基础。
但是由于客户安装的Office版本不一,所以VSTO项目的部署问题显得尤为重要,需要考虑很多问题。
本系列所有测试代码均在Visual Studio 2010 Ultimate SP1 + Office 2010 Professional Plus x64 SP1 上测试通过
&大致归纳一下,主要有以下一些情况:
1、Office版本不同
目前主要有Office 2003、Office 2007、Office 2010。
2、32位与64位的Office
目前只有Office 2010提供64位版本。
3、64位操作系统安装32位的Office
目前多出现在新上市的笔记本,很多都是Win7 64位,安装了Office
此外,不同VSTO项目的部署方式也不相同。主要有如下一些VSTO项目类型:
1、文档类型
如Word Document、Excel Workbook
2、AddIn类型
如Word AddIn、Excel AddIn
3、Shared AddIn类型
4、Excel自定义公式类型
&下面我们就来逐个探讨一下相应的部署方案。
注意VS2010 只支持Office 2007、Office 2010,若要开发基于Office 2003的VSTO项目,请使用VS2005、VS2008。
一、待部署的项目是文档类型
1.1、使用VS 2010创建一个Excel Workbook项目:
&1.2、选择Office 2007格式.xlsx:
&1.3、在一个工作表中放置一个按钮:
&1.4、在其单击事件中弹出一个对话框:
&1.5、F5运行,会打开Excel,点击按钮弹出我们希望看到的信息:
&1.6、在Debug目录下会发现生成了如下这些文件:
由于是文档类型,因此生成一个Excel工作簿很正常。有一个.vsto格式的文件很少见,它就是VSTO项目部署时的安装文件。
.vsto文件其实是一个XML文件,用文本编辑器打开可以看到具体内容:
包含了VSTO项目的具体信息,如.NET运行时版本,依赖的程序集,数字签名等信息,不要手动修改这个文件。
.NET运行时为4.0,所以客户端首先要安装.NET Framework 4.0。
.vsto的默认打开方式是Visual Studio Tools For Office Execution Engine:
该组件包含于Visual Studio Tools For Office 运行时,因此客户端若要运行VSTO程序,还需要安装Visual Studio Tools For Office 运行时。
Visual Studio 2010 Tools for Office Runtime 可以在下载。
&1.7、我用了一个虚拟机模拟客户端,安装了.NET 4.0和Office 2010后就可以打开.vsto了:
&1.8、安装成功后就可以打开Debug中的Excel文件了:
注意文档类型的VSTO项目安装后只对发布的一个文档有效(只对Debug中的Excel有效),不影响用户其他的Office文件,即文档类型项目不是全局性的。
&1.9、在控制面板中可以将该VSTO项目卸载:
&二、待部署的项目是Add In类型
2.1、新建一个Word Add In项目:
&2.2、添加一个可视化Ribbon:
&2.3、Ribbon中添加一个按钮:
&2.4、单击弹出对话框:
&2.5、F5运行后会打开Word:
&2.6、在Debug目录中会生成一些文件:
&2.7、客户端依旧需要安装.NET 4.0、Visual Studio 2010 Tools For Office Runtime才能运行该VSTO项目:
注意Add In 类型是全局性的,只要安装,用户随便打开一个Office文档都会包含该Add In。
&三、Shared AddIn类型
所谓Shared AddIn,就是该插件可以被多种Office文档共用,但是一般都是针对一种Office文档开发。
3.1、创建一个Shared AddIn项目:
&3.2、这里我选择只针对Excel:
&3.3、设置加载属性:
&3.4、默认有两个项目,一个是插件,另一个是MSI安装项目:
这里我们只谈部署,关于如何开发相关的项目请参考其他资料。
添加System.Windows.Forms的引用,然后在Connect.cs中的OnStartupComplete事件中弹出一个对话框:
&3.5、设置安装项目属性:
注意TargetPlatform没有AnyCPU,故需要针对x86、x64分别编译一份MSI安装文件。
&3.6、设置安装项目运行依赖组件:
这里可以设置需要.NET Framework 4.0:
&在安装项目属性页中的【Prerequisites】中可以设置更多的运行依赖组件:
&3.7、设置完成后编译安装项目,会生成相应的MSI安装包:
&3.8、直接在安装项目右击àInstall即可以安装:
安装完后打开一个Excel就会看到我们的对话框:
&四、Excel自定义公式类型
之所以把Excel自定义公式类型单独拿出来说,是因为Excel自定义公式的注册有些特殊,尤其是Excel 2010 x64。
4.1、创建一个类库项目:
&4.2、写加减乘除四个函数和COM注册、反注册函数:
View Code&
using&Susing&System.Runtime.InteropSusing&Microsoft.Win32;namespace&ExcelUDF{&&&&[Guid("E72F44C7-DD4A-4FA2-BC32-4EA9925749DB")]&&&&[ClassInterface(ClassInterfaceType.AutoDual)]&&&&[ComVisible(true)]&&&&public&class&ExcelUDF&&&&{&&&&&&&&public&int&Add(int&a,&int&b)&&&&&&&&{&&&&&&&&&&&&return&a&+&b;&&&&&&&&}&&&&&&&&public&int&Subtract(int&a,&int&b)&&&&&&&&{&&&&&&&&&&&&return&a&-&b;&&&&&&&&}&&&&&&&&public&int&Multiply(int&a,&int&b)&&&&&&&&{&&&&&&&&&&&&return&a&*&b;&&&&&&&&}&&&&&&&&public&int&Divide(int&a,&int&b)&&&&&&&&{&&&&&&&&&&&&return&a&/&b;&&&&&&&&}&&&&&&&&#region&COM&Related&&&&&&&&[ComRegisterFunction]&&&&&&&&public&static&void&RegisterFunction(Type&type)&&&&&&&&{&&&&&&&&&&&&Registry.ClassesRoot.CreateSubKey(GetSubKeyName(type,&"Programmable"));&&&&&&&&&&&&var&key&=&Registry.ClassesRoot.OpenSubKey(GetSubKeyName(type,&"InprocServer32"),&true);&&&&&&&&&&&&key.SetValue("",&Environment.SystemDirectory&+&@"\mscoree.dll",&RegistryValueKind.String);&&&&&&&&}&&&&&&&&[ComUnregisterFunction]&&&&&&&&public&static&void&UnregisterFunction(Type&type)&&&&&&&&{&&&&&&&&&&&&Registry.ClassesRoot.DeleteSubKey(GetSubKeyName(type,&"Programmable"),&false);&&&&&&&&}&&&&&&&&private&static&string&GetSubKeyName(Type&type,&string&subKeyName)&&&&&&&&{&&&&&&&&&&&&var&s&=&new&System.Text.StringBuilder();&&&&&&&&&&&&s.Append(@"CLSID\{");&&&&&&&&&&&&s.Append(type.GUID.ToString().ToUpper());&&&&&&&&&&&&s.Append(@"}\");&&&&&&&&&&&&s.Append(subKeyName);&&&&&&&&&&&&return&s.ToString();&&&&&&&&}&&&&&&&&#endregion&&&&}
&4.3、我安装的是Excel x64,需要手动注册自定义公式的程序集,为此在项目属性中的Build Events中写入批处理脚本来自动注册:
%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm /codebase "$(TargetPath)"
如果是Excel x86,这样注册:
%windir%\Microsoft.NET\Framework\v4.0.30319\regasm /codebase "$(TargetPath)"
部署到客户端时需要执行这个批处理脚本。
&这样在每次编译成功后就会自动注册该自定义公式。
4.4、在生成管理器中配置为 x64:
4.5、在Ribbon项目中添加调用自定义公式的代码:
using&Microsoft.Office.Tools.Rnamespace&ExcelAddIn{&&&&public&partial&class&RibbonDemo&&&&{&&&&&&&&private&void&RibbonDemo_Load(object&sender,&RibbonUIEventArgs&e)&&&&&&&&{&&&&&&&&}&&&&&&&&private&void&btnAdd_Click(object&sender,&RibbonControlEventArgs&e)&&&&&&&&{&&&&&&&&&&&&Globals.ThisAddIn.Application.ActiveCell.Formula&=&"=Add()";&&&&&&&&}&&&&&&&&private&void&btnSubtract_Click(object&sender,&RibbonControlEventArgs&e)&&&&&&&&{&&&&&&&&&&&&Globals.ThisAddIn.Application.ActiveCell.Formula&=&"=Subtract()";&&&&&&&&}&&&&&&&&private&void&btnMultiply_Click(object&sender,&RibbonControlEventArgs&e)&&&&&&&&{&&&&&&&&&&&&Globals.ThisAddIn.Application.ActiveCell.Formula&=&"=Multiply()";&&&&&&&&}&&&&&&&&private&void&btnDivide_Click(object&sender,&RibbonControlEventArgs&e)&&&&&&&&{&&&&&&&&&&&&Globals.ThisAddIn.Application.ActiveCell.Formula&=&"=Divide()";&&&&&&&&}&&&&}
4.6、修改Ribbon项目属性,将 Excel设置为启动的扩展程序:
4.7、编译、运行,会调用Excel来打开,自动加载我们的插件ExcelAddIn:
4.8、激活自定义公式:
在【Developer】选项卡中点击【Add-Ins】,再点击【Automation】找到我们编写的自定义公式,【OK】。
4.9、此时在Excel中就可以使用我们的公式了;
1、若客户使用的主要是Office 2003,则使用VS2008开发(.NET 3.5);若客户使用Office 2007或更新版本,则使用VS2010来开发。(.NET 4.0)
2、一般的安装顺序为:
.NET Framework –& Visual Studio Tools For Office Runtime à MSI或.vsto
3、安装之前最好将原来版本卸载,若.vsto出现无法安装的情况,则可以使用Mage.exe清理一下缓存再尝试安装。
命令行下执行:mage -cc
&Mage.exe是Windows SDK中的一个小工具,安装完Windows SDK后默认位于:
C:\Program Files (x86)\Microsoft SDKs\Windows\xx\Bin&&&& àWindows x64
C:\Program Files\Microsoft SDKs\Windows\xx\Bin &&&&àWindows x86
其中xx是Windows SDK的版本号,如v6.0A、v7.0A、v7.1等。
&&使用VSTO开发建议客户端安装Office 2007或更新版本,因为VSTO本身就是对Office 2007或更新版本量身定制的。Office 2003由于历史遗留问题,难以适应新架构。
对此需要引导客户,虽然客户是上帝,但是如果能说服客户升级Office,则对用户体验和项目后期的升级维护有显著的好处。
阅读(...) 评论()

我要回帖

更多关于 office2013开始菜单 的文章

 

随机推荐