VS 2008中是否提供了功能区UI控件?如果我在开发和部署机器上安装了Office 2007,它是否可用?
编辑:我认为微软会在VS 2008中包含Ribbon UI控件,因为这也是为了Windows应用程序的一致性而办公用户界面的前进方式
我正在使用Microsoft的WPF功能区CTP.但是,没有样本.我不知道从哪里开始.RibbonWindow没有Ribbon的属性.有人有样品吗?
我用一个功能区为Outlook 2010准备了一个最小的VSTO Addin.我唯一的目标是显示一个没有功能的功能区(通过设计师创建).从MSDN中可以告诉我的一点点,默认情况下应该自动显示,也许通过调整选项卡的ControlIdType/CustomId属性.
唉,调整这些属性什么都不做 - Outlook加载并不显示任何选项卡.功能区加载器中显示的简单消息框显示它永远不会被触发.此外,我还没有看到任何有关需要手动告诉Outlook显示选项卡的信息资源(教程,演练,概述等).
我有一个宏,我通过自定义UI编辑器添加的选项卡/组/按钮调用 -
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="tabCustomActions" label="Custom ActionsXXX" insertAfterMso="TabDeveloper">
<group id="GroupTLA" label="TLA Actions">
<button id="buttonFormatTLA" label="Format as TLA" image="TLALogo" size="large" onAction="start_tla" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Run Code Online (Sandbox Code Playgroud)
按钮显示很好,带有我的自定义徽标,但是当我点击按钮时,我得到以下错误 -

通常情况下,此错误后未打开VBA,如果我打开开发人员控制台然后尝试单击按钮,则VBA中的代码不会被指示为问题.
奇怪的是,如果我尝试手动运行宏,它可以正常工作,没有错误.有没有人有任何想法如何解决这个问题?
如果您希望查看它,这是我在Pastebin中的完整代码.谢谢.
我们正尝试通过加载项将第三方加载项控件放到自定义功能区上.
1)通过修改PowerPoint.officeUI进行自定义工作:
<mso:customUI
xmlns:x1="ThirdPartyAddin"
xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
<mso:ribbon>
<mso:qat/>
<mso:tabs>
<mso:tab id="my_new_tab" label="my_new_tab">
<mso:group id="Test" label="New Group" autoScale="true">
<mso:gallery idQ="x1:TheirFunction1" visible="true"/>
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
Run Code Online (Sandbox Code Playgroud)
我们使用"文件">"选项">"功能区自定义"提取此xml,并检查生成的PowerPoint.OfficeUI文件.
2)将以下内容放入我们从IRibbonExtensibility.GetCustomUI返回的加载项代码中, 也称为RibbonXML:
<mso:customUI
xmlns:x1="ThirdPartyAddin"
xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
<mso:ribbon>
<mso:tabs>
<mso:tab id="my_new_tab" label="my_new_tab">
<mso:group id="Test" label="New Group" autoScale="true">
<mso:gallery idQ="x1:TheirFunction1" visible="true"/>
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
Run Code Online (Sandbox Code Playgroud)
该项目确实出现但它无法正常工作.它有画廊的小箭头,但没有图标.
我已经成功创建了一个新标签,并将其放在预先存在的标签旁边.然后我意识到我只有一个按钮,因此将它放在Home选项卡上更有意义(现在).虽然没有真正得到它.
我试图遵循指南和走路.我给了我一个XML并将其XML更改为以下内容.
<tabs>
<!--<tab idMso="TabAddIns">-->
<tab idMso="TabHome">
<group id="group1" label="Hazaa!">
<box id="box1" />
</group>
</tab>
</tabs>
Run Code Online (Sandbox Code Playgroud)
当我运行项目时,我没有对UI进行任何更改,所以我猜:
TabHome错误(至少对于Outlook 2010),idMso是错误的(至少对于Outlook 2010)或我该怎么做才能改变色带?(Outlook 2010/VSTO/VS 2010/.NET 4).
当单击功能区选项卡时,我想在WPF应用程序中更改主表面(功能区本身下方的内容)的内容.我正在使用办公室功能区,不是那么重要.那么我应该使用哪个WPF容器控件,我该怎么做呢?我应该只是隐藏可见性的各种控件,或者是什么.我不是WPF专家,所以我需要一些灵感.
如何将垂直分隔符添加到WPF功能区,添加到RibbonGroup?我尝试了类似的东西,但我得到的是水平分隔符而不是垂直分隔符.
<r:RibbonGroup>
<r:RibbonButton Command="{StaticResource SomeButton}" />
<r:RibbonSeparator></r:RibbonSeparator>
<r:RibbonToggleButton IsChecked="False" Command="{StaticResource AnotherButton}"/></r:RibbonToggleButton>
</r:RibbonGroup>
Run Code Online (Sandbox Code Playgroud)
那么如何制作垂直分隔符呢?
我按照这里的说明为Access应用程序创建自定义功能区.但没有一个按钮工作!我一直收到一条错误,指出Access无法找到函数或宏,即使它是公共的并且在标准模块中.
最终我发现如果我使用以下语法它会工作:
onAction="=fncMyFunction('string argument', 1234)"
fncMyFunction 接收手动输入的参数,但不接收功能区对象.
在另一个项目的Word中,我创建了一个自定义功能区,方法是将文档作为.ZIP文件打开,在适当的位置添加XML,并添加对它的引用. 这部小说的某处有相关指示.
在Word中,我能够通过以下语法使所有内容按照我预期的方式工作:
onAction="fncMyFunction"
在Word中,fncMyFunction单击按钮时会将一个功能区对象传递给它.
这是什么交易?为什么语法不同?并且这种或那种"错误吗?"
如何使用VBA(而不是XML)隐藏和显示所有标准Excel功能区选项卡.我不想隐藏整个功能区(如此处所要求的:VBA最小化Excel中的功能区)只是选项卡.我知道如何使用XML使用startFromScratch,所以请不要建议使用XML或其他XML解决方案.
到目前为止,我已经进行了大量的Google搜索并查看了:
我所说的是我已经做了大量的搜索并尝试了许多事情而没有得到结果.