※ この情報はOffice 2010 Public Beta版を元にしています。製品版では変更になる可能性がありますのでご注意ください。
今回はマクロでリボンのタブを切り替える方法を紹介します。
1. Officeファイルを開きます(今回はExcelファイル)。
2. 標準モジュールに下記コードを貼り付けて上書き保存した後、ファイルを閉じます。
Private myRibbon As IRibbonUI
Sub Ribbon_onLoad(ribbon As IRibbonUI)
Set myRibbon = ribbon
End Sub
Sub TestActivateTabMso()
Call myRibbon.ActivateTabMso("TabDeveloper")
End Sub
<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2009/07/customui" />
1. Officeファイルを開きます(今回はExcelファイル)。
2. 標準モジュールに下記コードを貼り付けて上書き保存した後、ファイルを閉じます。
Private myRibbon As IRibbonUI
Sub Ribbon_onLoad(ribbon As IRibbonUI)
Set myRibbon = ribbon
End Sub
Sub TestActivateTab()
Call myRibbon.ActivateTab("customTab")
End Sub
<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="customTab" label="Contoso" insertAfterMso="TabHome">
<group idMso="GroupClipboard" />
<group idMso="GroupFont" />
<group id="customGroup" label="Contoso Tools">
<button id="customButton1" label="ConBold" size="large" onAction="conBoldSub" imageMso="Bold" />
<button id="customButton2" label="ConItalic" size="large" onAction="conItalicSub" imageMso="Italic" />
<button id="customButton3" label="ConUnderline" size="large" onAction="conUnderlineSub" imageMso="Underline" />
</group>
<group idMso="GroupEnterDataAlignment" />
<group idMso="GroupEnterDataNumber" />
<group idMso="GroupQuickFormatting" />
</tab>
</tabs>
</ribbon>
</customUI>
1. 名前空間とタブのControlIDを調べるため、オプション画面から対象となるCOMアドインタブを非表示にします。
2. テキストエディタで「officeUI」ファイルを開き(officeUIファイルの場所は「カスタマイズしたリボン情報(Office 2010)」参照)、名前空間(下図例では「PDFMaker.OfficeAddin」)とタブのControlID(下図例では「tab1」)を一旦別のテキストにコピーしておきます。
3. 名前空間とControlIDコピー後、非表示にしたタブを再度表示します。
4. Officeファイルを開きます。
5. 標準モジュールに下記コードを貼り付けて上書き保存した後、ファイルを閉じます(※ このとき2.でコピーした名前空間とControlIDをActivateTabQメソッドの引数にします)。
Private myRibbon As IRibbonUI
Sub Ribbon_onLoad(ribbon As IRibbonUI)
Set myRibbon = ribbon
End Sub
Sub TestActivateTabQ()
Call myRibbon.ActivateTabQ("tab1", "PDFMaker.OfficeAddin")
End Sub
<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2009/07/customui" />
1. アドインタブのControlIDを調べるため、アドインファイルをZip解凍します。
2. テキストエディタでカスタムUI用のXMLファイルを開き、タブのControlID(下図例では「tabWAR」)を一旦別のテキストにコピーしておきます。
3. Officeファイルを開きます。
4. 標準モジュールに下記コードを貼り付けて上書き保存した後、ファイルを閉じます(※ このとき2.でコピーしたControlIDとアドインファイルのフルパスをActivateTabQメソッドの引数にします)。
Private myRibbon As IRibbonUI
Sub Ribbon_onLoad(ribbon As IRibbonUI)
Set myRibbon = ribbon
End Sub
Sub TestActivateTabQ()
Call myRibbon.ActivateTabQ("tabWAR", "C:\Documents and Settings\(ユーザ名)\Application Data\Microsoft\AddIns\News And Weather.xlam")
End Sub
<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2009/07/customui" />