VBAを使用してカスタムリボンタブを追加する方法


98

いくつかのボタンを持つExcelリボンにカスタムタブを追加する方法を探しています。私はいくつかのリソースでGoogleを介してそれを処理することを偶然見つけましたが、すべてが危険で非常に複雑に見えます。

それを行うための迅速で簡単な方法は何ですか?VBAがExcelに読み込まれたときに新しいタブが読み込まれるようにしたい。

更新:私はここからこの例を試しましたが、最後の命令で「オブジェクトが必要です」というエラーが表示されます:

Public Sub AddHighlightRibbon()
Dim ribbonXml As String

ribbonXml = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">"
ribbonXml = ribbonXml + "  <mso:ribbon>"
ribbonXml = ribbonXml + "    <mso:qat/>"
ribbonXml = ribbonXml + "    <mso:tabs>"
ribbonXml = ribbonXml + "      <mso:tab id=""highlightTab"" label=""Highlight"" insertBeforeQ=""mso:TabFormat"">"
ribbonXml = ribbonXml + "        <mso:group id=""testGroup"" label=""Test"" autoScale=""true"">"
ribbonXml = ribbonXml + "          <mso:button id=""highlightManualTasks"" label=""Toggle Manual Task Color"" "
ribbonXml = ribbonXml + "imageMso=""DiagramTargetInsertClassic"" onAction=""ToggleManualTasksColor""/>"
ribbonXml = ribbonXml + "        </mso:group>"
ribbonXml = ribbonXml + "      </mso:tab>"
ribbonXml = ribbonXml + "    </mso:tabs>"
ribbonXml = ribbonXml + "  </mso:ribbon>"
ribbonXml = ribbonXml + "</mso:customUI>"

ActiveProject.SetCustomUI (ribbonXml)
End Sub

使用しているExcelのバージョンを確認してください。
Siddharth Rout

それはプロジェクトです。
Nathan_Sav 2017

回答:


146

AFAIKでは、VBA Excelを使用してExcelリボンにカスタムタブを作成することはできません。ただし、VBAを使用してリボンコンポーネントを非表示/表示にすることができます。また、上記のリンクはMS Project用であり、MS Excel用ではありません。

このカスタムユーティリティと呼ばれる無料のユーティリティを使用して、Excelアプリケーション/アドインのタブを作成します。


編集:OPによる新しいリクエストに対応する

チュートリアル

約束どおりの短いチュートリアルは次のとおりです。

  1. カスタムUIエディター(CUIE)をインストールしたら、それを開いて[ファイル]メニューから[ファイル]をクリックします。関連するExcelファイルを開いて選択します。CUIEでExcelファイルを開く前に、Excelファイルが閉じていることを確認してください。例として、新しいワークシートを使用しています。

    ここに画像の説明を入力してください

  2. 下図のように右クリックし、「Office 2007カスタムUIパーツ」をクリックします。「customUI.xml」を挿入します

    ここに画像の説明を入力してください

  3. 次にメニューをクリックします挿入| サンプルXML | カスタムタブ。基本的なコードが自動的に生成されることに気づくでしょう。これで、要件に応じて編集する準備が整いました。

    ここに画像の説明を入力してください

  4. コードを調べてみましょう

    ここに画像の説明を入力してください

    label="Custom Tab":「カスタムタブ」を、タブに付けたい名前に置き換えます。とりあえず「ジェローム」と呼んでください。

    以下の部分はカスタムボタンを追加します。

    <button id="customButton" label="Custom Button" imageMso="HappyFace" size="large" onAction="Callback" />

    imageMso:これはボタンに表示される画像です。「HappyFace」は、今あなたが目にするものです。その他の画像IDはこちらからダウンロードできます

    onAction="Callback":「コールバック」は、ボタンをクリックしたときに実行されるプロシージャの名前です。

デモ

それでは、2つのボタンを作成して、「JGボタン1」と「JGボタン2」と呼びます。1枚目は幸せそうな顔を、2枚目は「太陽」をイメージしましょう。修正されたコードは次のようになります。

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="MyCustomTab" label="Jerome" insertAfterMso="TabView">
<group id="customGroup1" label="First Tab">
<button id="customButton1" label="JG Button 1" imageMso="HappyFace" size="large" onAction="Callback1" />
<button id="customButton2" label="JG Button 2" imageMso="PictureBrightnessGallery" size="large" onAction="Callback2" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>

CUIEで生成されたすべてのコードを削除し、その代わりに上記のコードを貼り付けます。CUIEを保存して閉じます。Excelファイルを開くと、次のようになります。

ここに画像の説明を入力してください

コード部分です。VBAエディターを開き、モジュールを挿入して、次のコードを貼り付けます。

Public Sub Callback1(control As IRibbonControl)

    MsgBox "You pressed Happy Face"

End Sub

Public Sub Callback2(control As IRibbonControl)

    MsgBox "You pressed the Sun"

End Sub

Excelファイルをマクロ対応ファイルとして保存します。スマイリーまたは太陽をクリックすると、関連するメッセージボックスが表示されます。

ここに画像の説明を入力してください

お役に立てれば!


6
はい:)ロンは彼のウェブサイトにたくさんの例を持っています。rondebruin.nl/ribbon.htm
Siddharth Rout

1
新しいタブを作成しますか?はいの場合は、詳細を入力してXMLコードを提供します:)
Siddharth Rout

1
ギミー20分。上記の投稿を関連するコードとスナップショットで更新する:)
Siddharth Rout

6
@SiddharthRout +1-私はExcelの本が必要ないことを発見しました。私が日々の仕事で学ぶ必要があるものについてあなたの投稿に従ってください(そして今晩、それはリボンXMLです!):)
私たちの男バナナ

1
基本的なxmlコードとVBAコードを使用して新しいクエシトンを作成することをお勧めします。そうすれば、そこでフォームを作成できますか?@YasserKhalil
Siddharth Rout

30

Excel 2013のVBAでこれを実現できました。特別なエディターは必要ありません。必要なのは、[開発]タブからアクセスできるVisual Basicコードエディターだけです。[開発]タブはデフォルトでは表示されないため、[ファイル]> [オプション]> [リボンのカスタマイズ]で有効にする必要があります。[開発]タブで、[Visual Basic]ボタンをクリックします。コードエディタが起動します。左側のプロジェクトエクスプローラーペインを右クリックします。挿入メニューをクリックし、モジュールを選択します。以下の両方のサブを新しいモジュールに追加します。

Sub LoadCustRibbon()

Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String

hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"

ribbonXML = "<mso:customUI      xmlns:mso='http://schemas.microsoft.com/office/2009/07/customui'>" & vbNewLine
ribbonXML = ribbonXML + "  <mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "    <mso:qat/>" & vbNewLine
ribbonXML = ribbonXML + "    <mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + "      <mso:tab id='reportTab' label='Reports' insertBeforeQ='mso:TabFormat'>" & vbNewLine
ribbonXML = ribbonXML + "        <mso:group id='reportGroup' label='Reports' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <mso:button id='runReport' label='PTO' "   & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor3'      onAction='GenReport'/>" & vbNewLine
ribbonXML = ribbonXML + "        </mso:group>" & vbNewLine
ribbonXML = ribbonXML + "      </mso:tab>" & vbNewLine
ribbonXML = ribbonXML + "    </mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + "  </mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "</mso:customUI>"

ribbonXML = Replace(ribbonXML, """", "")

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile

End Sub

Sub ClearCustRibbon()

Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String

hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"

ribbonXML = "<mso:customUI           xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
"<mso:ribbon></mso:ribbon></mso:customUI>"

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile

End Sub

Wookbookで均等に開いたLoadCustRibbonサブルーチンを呼び出し、ThisWorkbookコードファイルのBefore_CloseイベントでClearCustRibbonサブルーチンを呼び出します。


これは私にとってはうまくいきましたが、私が遭遇したいくつかのマイナーな問題だけでした。1)Before_Closeイベントを保持していると、新しいリボンがロードされませんでした。2)Before_Closeイベントを削除してリボンを機能させることができた場合、Excelを再ロードしてから表示する必要がありました。これがなぜ起こっているのかをアドバイスできれば、それは素晴らしいことです!
Petay87 2015

コードはまったく同じですか?投稿できますか?Excelは、リボンが読み込まれる前に標準のリボンファイルを変更し、ブックを閉じる前にそれをリセットする必要があるという考えです。他のブックに表示されないように、リボンをリセットする必要があります。
Roi-Kyiブライアント

3
このコードは、ユーザーがすでに行った可能性があるすべての現在のリボンのカスタマイズを上書きします。
WizzleWuzzle

@WizzleWuzzle必要はありません。リボンをインポートして、オブジェクトを解析してトラバースすることができます。次に、新しい要素をオブジェクトに追加できます。結果はファイルに保存できます。問題は、カスタムリボンを作成する方法でした。既存のものを変更する方法ではありません。
Roi-Kyiブライアント

1
@ Roi-Kyi-Bryant問題は、現在のカスタムリボン全体を上書きするのではなく、カスタムリボンアイテムを追加することでした。このコードは現在のリボンを上書きします。
WizzleWuzzle

24

私は狂ったように戦ったが、これは実際には正しい答えです。それが価値があるものについて、私が逃したのはこれです:

  1. 他の人が言うように、VBAでCustomUIリボンを作成することはできません、あなたがする必要はありません!
  2. アイデアは、Excelの[ファイル]> [オプション]> [リボンのカスタマイズ]を使用してxmlリボンコードを作成し、リボンを.customUIファイルにエクスポートすることです(それはxmlを含む単なるtxtファイルです)。
  3. トリックが来ました:.customUIファイルからコードをコピーすることにより、ここで参照するMSツールを使用して.xlsmファイルに.customUIコードを含めることができます
  4. .xlsmファイルに含まれると、開くたびに、定義したリボンが ユーザーのリボンに追加されます。ただし、<ribbon startFromScratch = "false">を使用しないと、リボンの残りが失われます。ワークブックを終了すると、リボンが削除されます。
  5. ここからは簡単です。リボンを作成し、リボンに固有のxmlコードを.customUIファイルからコピーして、上記のようにラッパーに配置します(... <tabs> your xml </ tabs .. 。)

ちなみに、ロンのサイトでそれを説明するページは現在 http://www.rondebruin.nl/win/s2/win002.htmにあります

リボンのボタンを有効/無効にする方法の例を次に示します http://www.rondebruin.nl/win/s2/win013.htm

リボンの他のxmlの例については、http://msdn.microsoft.com/en-us/library/office/aa338202%28v=office.12%29.aspxも参照して ください。


2
それでも(5年後)私の意見では最良の回答であり、おそらくOP @BuZzは、少なくともこの回答(?)を指摘して、元の投稿を更新したいと考えています。かなり長い回答リストの一番下にあるので、私はそれをほとんど見つけませんでした。
Chri.s

18

ここでの回答は、カスタムUIエディターの使用に固有です。私はそのすばらしいプログラムなしでインターフェースを作成するのにしばらく時間を費やしたので、カスタムUIエディターが必要かどうかを他の人が判断できるように、ここにソリューションを文書化しています。

次のマイクロソフトヘルプWebページに出くわしました-https ://msdn.microsoft.com/en-us/library/office/ff861787.aspx。これはインターフェースを手動で設定する方法を示していますが、カスタムアドインコードを指定するときに問題が発生しました。

ボタンをカスタムマクロで動作させるには、このSOの回答- リボンからのExcelマクロの呼び出しで説明されているように、.xlamサブでマクロを呼び出すように設定します。基本的に、リボンのxmlからポイントされているすべてのモジュールに「control As IRibbonControl」パラメーターを追加する必要があります。また、リボンxmlには、アドインによってロードされたモジュールを適切に呼び出すためのonAction = "myaddin!mymodule.mysub"構文が必要です。

これらの手順を使用して、VBAがExcelに読み込まれたときにカスタムタブが読み込まれるExcelアドイン(.xlamファイル)を作成できました。ボタンは、アドインからコードを実行し、カスタムタブがアンインストールされるとアドインを削除します。


1
これは、すべての開発ツールを持っていない私たちにとってはうまくいきます。「シンプルな」ソリューションをありがとう
Evan

2
私は2年目のプログラミングの学生にこの方法を教えていましたが、最終的にはCustomUIツールを使用する方が、それにアクセスできる場合はそれほど複雑ではないことがわかりました。
リックヘンダーソン

8

Roi-Kyiブライアントの回答に加えて、このコードはExcel 2010で完全に機能します。ALT+ F11を押すと、VBAエディターがポップアップします。ThisWorkbook左側をダブルクリックして、次のコードを貼り付けます。

Private Sub Workbook_Activate()

Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String

hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"

ribbonXML = "<mso:customUI      xmlns:mso='http://schemas.microsoft.com/office/2009/07/customui'>" & vbNewLine
ribbonXML = ribbonXML + "  <mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "    <mso:qat/>" & vbNewLine
ribbonXML = ribbonXML + "    <mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + "      <mso:tab id='reportTab' label='My Actions' insertBeforeQ='mso:TabFormat'>" & vbNewLine
ribbonXML = ribbonXML + "        <mso:group id='reportGroup' label='Reports' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <mso:button id='runReport' label='Trim' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor3'      onAction='TrimSelection'/>" & vbNewLine
ribbonXML = ribbonXML + "        </mso:group>" & vbNewLine
ribbonXML = ribbonXML + "      </mso:tab>" & vbNewLine
ribbonXML = ribbonXML + "    </mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + "  </mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "</mso:customUI>"

ribbonXML = Replace(ribbonXML, """", "")

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile

End Sub

Private Sub Workbook_Deactivate()

Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String

hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"

ribbonXML = "<mso:customUI           xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
"<mso:ribbon></mso:ribbon></mso:customUI>"

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile

End Sub

ブックを保存して再度開くことを忘れないでください。お役に立てれば!


これでどのように引数を渡しますか?私はこれを使用していますが、引数を渡す方法が見つかりません。
jDave1984 16

私の答えを使用して、引数リストを各サブルーチンに追加します。LoadCustomRibbon(tabName as String、groupName as String、btnName as String)次に、@ Erikasが指摘したように、適切な場所でこれらのサブルーチンを呼び出します。
Roi-Kyiブライアント

6

複数のアドインがリボンを変更しようとしたときに、Roi-Kyi Bryantのソリューションで問題が発生しました。また、のインストールを除外している仕事用コンピューターの管理アクセス権も持っていませんCustom UI Editor。だから、私と同じ船に乗っているなら、Excelだけを使ってリボンをカスタマイズする別の次に示します。注:私のソリューションはMicrosoftガイドから派生しています


  1. リボンをカスタマイズするExcelファイルを作成します。私の場合、2つの.xlamファイルを作成Chart Tools.xlamPriveleged UDFs.xlam、複数のアドインがリボンと対話する方法を示すために、とを作成しました。
  2. 作成したファイルごとに、任意のフォルダー名でフォルダーを作成します。
  3. 作成した各フォルダー内に、customUIおよび_relsフォルダーを追加します。
  4. customUIフォルダ内にcustomUI.xmlファイルを作成します。このcustomUI.xmlファイルでは、Excelファイルがリボンとどのように相互作用するかについて詳しく説明しています。Microsoftガイドのパート2では、customUI.xmlファイルの要素について説明しています。

私のcustomUI.xmlファイルはChart Tools.xlam次のようになります

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:x="sao">
  <ribbon>
    <tabs>
      <tab idQ="x:chartToolsTab" label="Chart Tools">
        <group id="relativeChartMovementGroup" label="Relative Chart Movement" >
            <button id="moveChartWithRelativeLinksButton" label="Copy and Move" imageMso="ResultsPaneStartFindAndReplace" onAction="MoveChartWithRelativeLinksCallBack" visible="true" size="normal"/>
            <button id="moveChartToManySheetsWithRelativeLinksButton" label="Copy and Distribute" imageMso="OutlineDemoteToBodyText" onAction="MoveChartToManySheetsWithRelativeLinksCallBack" visible="true" size="normal"/>
        </group >
        <group id="chartDeletionGroup" label="Chart Deletion">
            <button id="deleteAllChartsInWorkbookSharingAnAddressButton" label="Delete Charts" imageMso="CancelRequest" onAction="DeleteAllChartsInWorkbookSharingAnAddressCallBack" visible="true" size="normal"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

私のcustomUI.xmlファイルはPriveleged UDFs.xlam次のようになります

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:x="sao">
  <ribbon>
    <tabs>
      <tab idQ="x:privelgedUDFsTab" label="Privelged UDFs">
        <group id="privelgedUDFsGroup" label="Toggle" >
            <button id="initialisePrivelegedUDFsButton" label="Activate" imageMso="TagMarkComplete" onAction="InitialisePrivelegedUDFsCallBack" visible="true" size="normal"/>
            <button id="deInitialisePrivelegedUDFsButton" label="De-Activate" imageMso="CancelRequest" onAction="DeInitialisePrivelegedUDFsCallBack" visible="true" size="normal"/>
        </group >
      </tab>
    </tabs>
  </ribbon>
</customUI>
  1. 以下のために、各ファイルあなたは、接尾辞A、ステップ1で作成した.zip自分のファイル名に。私の場合、私は名前を変更Chart Tools.xlamするChart Tools.xlam.zip、とPrivelged UDFs.xlamしますPriveleged UDFs.xlam.zip
  2. .zipファイルを開き、_relsフォルダに移動します。手順3で作成.relsした_relsフォルダーにファイルをコピーします。 .relsファイルをテキストエディターで編集します。Microsoftガイドから

最終<Relationship>要素と終了 <Relationships>要素の間に、ドキュメントファイルとカスタマイズファイル間の関係を作成する行を追加します。フォルダーとファイルの名前を正しく指定していることを確認してください。

<Relationship Type="http://schemas.microsoft.com/office/2006/
  relationships/ui/extensibility" Target="/customUI/customUI.xml" 
  Id="customUIRelID" />

私の.relsファイルはChart Tools.xlam次のようになります

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
        <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
        <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/>
        <Relationship Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="/customUI/customUI.xml" Id="chartToolsCustomUIRel" />
    </Relationships>

私の.relsファイルはPriveleged UDFsこのようになります。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
        <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
        <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/>
        <Relationship Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="/customUI/customUI.xml" Id="privelegedUDFsCustomUIRel" />
    </Relationships>
  1. .rels.zipファイルのファイルを.rels、前のステップで変更したファイルで置き換えます。
  2. .customUI作成したフォルダーをコピーして、.zipファイルのホームディレクトリに貼り付けます。
  3. .zip作成したExcelファイルからファイル拡張子を削除します
  4. .xlamファイルを作成した場合は、Excelに戻って、Excelアドインに追加します。
  5. 必要に応じて、各アドインでコールバックを作成します。ステップ4ではonAction、ボタンにキーワードがあります。onActionキーワードを含む要素がトリガされたとき、Excelアプリケーションが直後引用符で包まサブルーチントリガする、ことを示すonActionキーワード。これはコールバックと呼ばれます。私の.xlamファイルにはCallBacks、コールバックサブルーチンを組み込んだというモジュールがあります。

CallBacksモジュール

私のCallBacksモジュールはChart Tools.xlam次のようになります

Option Explicit

Public Sub MoveChartWithRelativeLinksCallBack(ByRef control As IRibbonControl)
  MoveChartWithRelativeLinks
End Sub

Public Sub MoveChartToManySheetsWithRelativeLinksCallBack(ByRef control As IRibbonControl)
  MoveChartToManySheetsWithRelativeLinks
End Sub

Public Sub DeleteAllChartsInWorkbookSharingAnAddressCallBack(ByRef control As IRibbonControl)
  DeleteAllChartsInWorkbookSharingAnAddress
End Sub

私のCallBacksモジュールはPriveleged UDFs.xlam次のようになります

オプション明示的

Public Sub InitialisePrivelegedUDFsCallBack(ByRef control As IRibbonControl)
  ThisWorkbook.InitialisePrivelegedUDFs
End Sub

Public Sub DeInitialisePrivelegedUDFsCallBack(ByRef control As IRibbonControl)
  ThisWorkbook.DeInitialisePrivelegedUDFs
End Sub

要素が異なれば、コールバックサブルーチンのシグネチャも異なります。ボタンの場合、必要なサブルーチンパラメータはByRef control As IRibbonControlです。必要なコールバック署名に準拠していない場合、VBAプロジェクトのコンパイル中にエラーが発生します。Microsoftガイドのパート3では、すべてのコールバック署名を定義しています。


これが私の完成した例です

完成品


いくつかの終了のヒント

  1. アドインでリボン要素を共有する場合は、idQand xlmns:キーワードを使用します。私の例では、Chart Tools.xlamとのPriveleged UDFs.xlam両方が、とidQ等しいx:chartToolsTabおよびの要素にアクセスできますx:privelgedUDFsTab。これが機能するには、x:が必要です。また、名前空間を最初の行に定義しましたcustomUI.xmlファイルの<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:x="sao">。詳細については、MicrosoftガイドのFluent UIをカスタマイズする2つの方法のセクションを参照してください。
  2. アドインがExcelに付属のリボン要素にアクセスするようにするには、isMSOキーワードを使用します。詳細については、MicrosoftガイドのFluent UIをカスタマイズする2つの方法のセクションを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.