2013-01-17 64 views
2

SHORT: 我想通過放置一個下拉菜單到任何Word 2010實例的快速訪問工具欄在Word的啓動文件夾中自定義.dotm文件。我無法在創建此自定義.dotm文件Word 2010:如何在qat中創建下拉菜單(快速訪問工具箱)

LONG: 我已經寫了一點「附加」的Word 2010中,先用VSTO,然後計算出與部署的問題,現在用VBA。插件應簡化將我公司的徽標和法律聲明添加到文檔(不同組合的徽標&法律聲明存在)。

爲了讓希望的標誌和法律聲明,用盡可能少的點擊,從而選擇,我想到了自動添加一個下拉菜單,快速訪問工具欄(QAT)。我想通過將包含此QAT擴展&在用戶的Word啓動文件夾中的頁眉/頁腳設定的邏輯代碼.dotm文件來做到這一點。

我使用CustomUI加入這樣的下拉菜單加載項絲帶已經succeded,一切工作正常的代碼方面。通過菜單,用戶可以從所有提供的預設中進行選擇,並且成功添加頁眉和頁腳。

此外,我所看到的和與成功直接控件添加到QAT的例子播放。

如果放在我的啓動文件夾,這些例子做一個完美的工作和控制限定在其中出現在Word中的任何實例。要做的是在.dotm文檔中創建一個新的文件夾「userCustomization」,然後創建customUI.xml文件並提供一些限制(例如,不允許自定義圖標)。

不幸的是,我無法弄清楚如何實現在QAT一個下拉菜單控制。我發現的所有例子都只使用了「簡單」(按鈕)控件,無論我嘗試在標籤中包裝按鈕多少次,我從來沒有使用它。

我可以另一方面通過「qat =>添加控件」手動添加我的色帶到qat和..voilà..它在那裏,完全按照想要的方式工作,所以我認爲它一定是可能的。但我需要的是自動執行此操作,以便我們的用戶不必對qat進行任何配置。

幫助將非常感謝!

<ribbon> 
<tabs> 
<tab idMso="TabAddIns">  
<group id="MyGroup" label="WordDesigner" visible="false">  

    <menu id="myMenu" label="Design einfügen" size="large" image="menulogo"> 
    <menu id="mySubMenu" label="Rechnungswesen" image="icon2"> 
     <button id="MahnUndKlage" label="Mahn- und Klage" image="icon3" onAction="DesignAnwenden"/> 
     <button id="Buchhaltung" label="Buchhaltung" image="icon3" onAction="DesignAnwenden"/>  
    </menu> 
    <button id="Personalabteilung" label="Personalabteilung" image="icon3" onAction="DesignAnwenden"/> 
    <button id="Verkauf" label="Verkauf" image="icon4" onAction="DesignAnwenden"/> 
    <button id="clearHeaderAndFooter" label="Gestaltung entfernen" image="icon5" onAction="DesignAnwenden"/> 
    </menu> 
</group> 
</tab> 
</tabs> 
</ribbon> 
</customUI> 

有用的信息,我發現包括:

+0

查看Ron de Bruin在第8點提供的Excel示例:http://www.rondebruin.nl/ribbon.htm#Tips - 很確定它在Word中的一些。爲進一步參考,我總是發現http://www.oaltd.co.uk/Spreads/Excel2007VBAProgRef_ch14.pdf非常有幫助! –

+0

謝謝你的建議,彼得。不幸的是,我沒有在提供的鏈接中找到我的問題。 – peter

回答

2

好吧,一些更多的研究已經導致了一些更多的信息(...),如果其他人可能會搜索類似的問題,我會盡力得出我得到的結論。

  • 1)根據對QAT this MS網頁,唯一的按鈕,切換按鈕 和CheckBox是在Win7的QAT有效的項目(在Win8 允許一些更多的控制)。

  • 既然你可以手動添加下拉菜單,以及,我認爲必須有一些方法來自動地做到這一點,以及與按鈕,複選框和的ToggleButtons

  • 我能爲生活我不想通過修改啓動文件夾中的.dotm文件的userCustomization-Folder文件中的customUI.xml文件來自動向QAT中添加 下拉列表。

  • 還有另一個可能性爲實現該目標:辦公室2010使用 類型「.officeUI」,其中它存儲從QAT(例如Word.officeUI)每個用戶元件 的一個文件。在那裏,把下面的XML的元素將確保,如果你已經把包含您在 Word的啓動文件夾菜單.dotm文件,它是顯示爲 QAT下拉負載:

    <mso:control idQ="x1:myMenu" visible="true"/>

  • 不幸的是,在踊躍加入這個XML的元素添加到customUI.xml在userCustomization結果..噗..沒有在所有的QAT定義額外的圖標用戶(customUI.xml已損壞)。

此外,一個偉大的ressource我偶然在昨天安迪是教皇的Visual Ribbon Editor。您可以輕鬆調整Ribbon和QAT。

2

我知道我遲到了,但是我通過谷歌發現了這篇文章,並且覺得你會很感激你的答案。

可以通過Word的QAT創建一個菜單的外觀與一個小VBA欺騙。基本上,創建一個自定義命令欄,每個「控制」代表您想要的菜單上的一個插槽。如果您願意,您可以使用「.BeginGroup」創建分隔線來分隔項目。您的菜單至少可以降低一級,但出於複雜性考慮,我不建議您選擇太深。

當你的命令欄是完美的,創建一個僅運行時會顯示您的命令欄的彈出宏:

Application.CommandBars("My Command Bar").ShowPopup 

添加快捷方式到宏觀到QAT。當您單擊該快捷方式時,您的命令欄將顯示爲光標處的彈出式菜單,這是所需的效果。

享受!

+0

謝謝!我真的很感謝你的回答,並會嘗試你的建議! – peter