Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8 : Excel 2013)
リボンタブのカスタマイズ
投稿日時: 20/10/14 10:31:14
投稿者: アール

リボンタブをカスタマイズしたくXMLを使用しております。
@ページレイアウトタブを非表示にするためのtab id の名称を教えてください。
A現在、以下のように記載しております。
 本来は、新規でタブを作成せず、表示タブなどにすでにあるものの中で非表示にしたいものは非表示にしたいのですが、そのやり方がわからず、すべて非表示にし必要なものを新規でタブを作りそこに入れております。もし、タブの中でカスタマイズできるようであれば教えてください。
 
<残したいタブ>
・ズーム ZoomDialog
・100% ZoomCurrent100
・ウインドウの切り替え WindowSwitchWindowsMenuExcel
・名前をつけて保存 FileSaveAs
・ページ設定 PageSetupPageDialog
・印刷範囲 PrintAreaMenu
・印刷プレビュー PrintPreviewFullScreen
 
 
<?xml version="1.0" encoding="Shift_JIS" ?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab idMso="TabHome" visible="false"/>
      <tab idMso="TabInsert" visible="false"/>
      <tab idMso="TabPageLayouts" visible="false"/>
      <tab idMso="TabFormulas" visible="false"/>
      <tab idMso="TabData" visible="false"/>
      <tab idMso="TabReview" visible="false"/>
      <tab idMso="TabDeveloper" visible="false"/>
      <tab idMso="TabView" visible="false"/>
 
      <tab id="CustomTab" label="テスト">
        <group id="Group1" label="印刷設定">
          <button id="Button1" imageMso="FilePrint" label="印刷" size="large" onAction="Module1.Macro1" />
           <button id="Button2" imageMso="PageSetupPageDialog" label="ページ設定" size="large" onAction="Module1.Macro1" />
        </group >
        <group id="表示_1" label="表示設定">
                <button id="Button5" imageMso="ZoomDialog" label="ズーム" size="normal" onAction="Module1.Macro1" />
          <button id="Button6" imageMso="ZoomCurrent100" label="全画面表示" size="normal" onAction="Module1.Macro1" />
          <button id="Button7" imageMso="WindowSwitchWindowsMenuExcel" label="ウインドウ切り替え" size="normal" onAction="Module1.Macro1" />
        </group >
      </tab>
    </tabs>
  </ribbon>
</customUI>

回答
投稿日時: 20/10/14 11:21:49
投稿者: simple

https://www.ka-net.org/blog/?cat=1
ご存じかと思いますが、上記サイトは、この分野では最も優れたサイトではないかと思います。
こちらをよく調べられたらいかがですか?

回答
投稿日時: 20/10/14 11:56:39
投稿者: sk

引用:
@ページレイアウトタブを非表示にするためのtab id の名称を教えてください。

引用:
<tab idMso="TabPageLayouts" visible="false"/>

<tab idMso="TabPageLayoutExcel" visible="false"/>
 
引用:
本来は、新規でタブを作成せず、表示タブなどにすでにあるものの中で
非表示にしたいものは非表示にしたい

特定のコマンドを無効にしたい、ということでしょうか。

回答
投稿日時: 20/10/14 12:10:22
投稿者: Suzu

引用:
@ページレイアウトタブを非表示にするためのtab id の名称を教えてください。

2013 ですと こちらでしょうか。
https://www.microsoft.com/en-us/download/details.aspx?id=36798
 
引用:
 本来は、新規でタブを作成せず、表示タブなどにすでにあるものの中で非表示にしたいものは非表示にしたいのですが、そのやり方がわからず、すべて非表示にし必要なものを新規でタブを作りそこに入れております。もし、タブの中でカスタマイズできるようであれば教えてください。

 
こちらが参考になるかと思います。
http://suyamasoft.blue.coocan.jp/Ribbon/ReverseResolution/visible/index.html

投稿日時: 20/10/15 10:20:29
投稿者: アール

sk さんの引用:
引用:
@ページレイアウトタブを非表示にするためのtab id の名称を教えてください。

引用:
<tab idMso="TabPageLayouts" visible="false"/>

<tab idMso="TabPageLayoutExcel" visible="false"/>
 
引用:
本来は、新規でタブを作成せず、表示タブなどにすでにあるものの中で
非表示にしたいものは非表示にしたい

特定のコマンドを無効にしたい、ということでしょうか。

 
ありがとうございます。ページレイアウトタブ消すことができました。
 
特定のコマンドを無効にしたい、ということでしょうか。[/quote]
→はい、その通りです。

回答
投稿日時: 20/10/15 11:40:06
投稿者: sk

アール さんの引用:
引用:
特定のコマンドを無効にしたい、ということでしょうか。

→はい、その通りです。

例えば、[太字]コマンドを使用不可にしたい場合は、
customUI を定義する XML ファイルに次のようなタグを記述します。
 
------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <commands>
        <command idMso="Bold" enabled="false" />
    </commands>
</customUI>
------------------------------------------------------------------------
 
この場合、[ホーム]タブ上の[太字]コマンドのボタンが
ハイライト表示となり、クリックしても実行出来なくなります。
また Ctrl + B キーによる操作も無効となります。
 
[セルの書式設定]ダイアログを開いて
選択範囲の太字書式を設定することは可能です。
 
アール さんの引用:
<残したいタブ>
・ズーム ZoomDialog
・100% ZoomCurrent100
・ウインドウの切り替え WindowSwitchWindowsMenuExcel
・名前をつけて保存 FileSaveAs
・ページ設定 PageSetupPageDialog
・印刷範囲 PrintAreaMenu
・印刷プレビュー PrintPreviewFullScreen

しかし、使用可能とするタブ/グループ/コマンドを
本当に上記に示されたものだけに絞ってしまうのであれば、
個々のコマンドを無効化するタグを無数に記述するよりも、
既に実装されている通り、組み込みのリボンを(コマンドごと)
全て非表示化し、カスタムリボンを表示させるようにした方が
簡単でミスも少なくなると思います。

回答
投稿日時: 20/10/15 14:17:50
投稿者: sk

追記:

引用:
<button id="Button1" imageMso="FilePrint" label="印刷" size="large" onAction="Module1.Macro1" />

もし「『各コマンドを呼び出すマクロを実行するボタン』ではなく
組み込みのコマンドをカスタムリボン内に配置したいけど、
その具体的な XML の記述内容が分からない」といった趣旨での
ご質問なのであれば、とりあえず次のような XML を記述してみて下さい。
 
引用:
・ズーム ZoomDialog
・100% ZoomCurrent100
・ウインドウの切り替え WindowSwitchWindowsMenuExcel
・名前をつけて保存 FileSaveAs
・ページ設定 PageSetupPageDialog
・印刷範囲 PrintAreaMenu
・印刷プレビュー PrintPreviewFullScreen

---------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab idMso="TabHome" visible="false" />
            <tab idMso="TabInsert" visible="false" />
            <tab idMso="TabPageLayoutExcel" visible="false" />
            <tab idMso="TabFormulas" visible="false" />
            <tab idMso="TabData" visible="false" />
            <tab idMso="TabReview" visible="false" />
            <tab idMso="TabView" visible="false" />
            <tab idMso="TabDeveloper" visible="false" />
            <tab id="MyCustomTab" label="メニュー">
                <group id="MyFileGroup" label="ファイル">
                    <button idMso="FileSaveAs" visible="true" size="large" />
                </group>
                <group id="MyPrintGroup" label="印刷">
                    <button idMso="PrintPreviewFullScreen" visible="true" size="large" />
                    <menu idMso="PrintAreaMenu" visible="true" size="large" />
                    <button idMso="PageSetupPageDialog" visible="true" size="large" />
                </group>
                <group id="MyViewGroup" label="表示">
                    <button idMso="ZoomDialog" visible="true" size="large" />
                    <button idMso="ZoomCurrent100" visible="true" size="large" />
                    <menu idMso="WindowSwitchWindowsMenuExcel" visible="true" size="large" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>
---------------------------------------------------------------------

投稿日時: 20/10/15 17:13:08
投稿者: アール

ありがとうございます。無事作成できました。