我正在使用Visual Studio2010创建一个VSTO word2007 C#插件。我想将控件添加到Word的快速访问工具栏(QAT)中,以便用户能够意识到这些控件公开的功能(它们取代了Word的内置功能,即。撤消/重做。)我使用ribbon XML来自定义ribbon,因此为了将控件添加到QAT,我必须使用<ribbon startFromScratch="true">。不幸的是,这样做会禁用用户通过添加他们希望看到的控件来进一步自定义QAT的能力。( "Customize Quick Access Toolbar“下拉菜单中所有可以添加的命令都是灰色的,"More Commands”按钮也是灰色的。)这样做还会从QAT中删除用户之前可能为了方便而放置的任何控件。
我用来重现这个问题的ribbon XML是:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">
<ribbon startFromScratch="true">
</ribbon>
</customUI>我想知道的是:
1)在将我自己的控件添加到QAT之后,有没有办法允许用户修改QAT?(理想情况下,我将保留用户以前的QAT自定义。)或者,
2)有没有其他方法可以让我的控件进入QAT,而不会删除用户的自定义设置,并允许用户随后修改QAT?
谢谢!
发布于 2011-03-15 04:35:33
我想我要采取的方法是修改用户的自定义QAT文件,该文件位于(对于WinXP):
C:\文档和设置\管理员\本地设置\应用程序Data\Microsoft\Office\Word.qat
不过,我还没有时间实现,所以我不确定我是否能够在Word锁定文件之前修改它,或者及时让Word加载它。也许我可以让Word重新加载它。
发布于 2011-03-14 04:27:03
如果你使用startFromScratch="true",你总是会遇到这个问题。如果你重写了undo/redo之类的东西,为什么不直接用你的函数重写这些按钮呢?Temporarily Repurpose Commands on the Office Fluent Ribbon
https://stackoverflow.com/questions/5288244
复制相似问题