2

次の VBA マルコを Excel 2003 で実行しています。[保存]、[名前を付けて保存]、[ワークスペースを保存]、[送信] メニューがブロックされていますが、Excel 2010 の場合は同じことを行う必要があります。

Application.CommandBars("ワークシート メニュー バー").Controls("ファイル").Controls("名前を付けて保存...").Enabled = False

Application.CommandBars("ワークシート メニュー バー").Controls("ファイル"). Controls("保存").Enabled = False

Application.CommandBars("ワークシート メニュー バー").Controls("ファイル").Controls("ワークスペースを保存...").Enabled = False

Application.CommandBars("ワークシート メニュー バー").Controls("ファイル").Controls("送信先").Enabled = False

Application.CommandBars("ワークシート メニュー バー").Controls("フォーマット").Controls("シート").Enabled = False

Excel 2010 には [保存して送信] ([ファイル] リボンの下) と呼ばれる [新しいメニュー] がありますが、これも無効にしたいと考えています... どうすればよいですか? 次のような行に相当するものを探しています。

'Application.CommandBars("Worksheet Menu Bar").Controls("File").Controls("Save & Send").Enabled = False

ご協力ありがとうございました。

4

3 に答える 3

4

Microsoft のリボン UI の例/ドキュメントについては、こちら. CustomUI Editorを使用することをお勧めします。

CustomUI エディターでファイル (XLSX、XLSM、XLAM などの Excel 2007 以降のファイル拡張子である必要があります) を開きます。次に、エディタで次の XML を使用します。

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<backstage>
    <tab idMso="TabShare" visible="false" enabled="false">
    </tab>
</backstage>
</customUI>

ファイルを保存し、CustomUI エディターを閉じます。

次に、ファイルを開きます。Save and SendFile/Backstage ビューに移動すると、タブが削除されていることがわかります。

無効化された TabShare のスクリーンショット

注:これにより、backstage ビューから [保存して送信] タブ全体が無効になりました。XML を使用してこれを微調整すること、つまり、タブを有効にするが、その中の特定のコントロールを無効にすることができるはずです (たとえば、無効にしたいだけでSend as Attachment、他のオプションを有効にしたままにしたいなど)。特定のコントロールのみを無効にするために、XML 階層を完全に作成しました。Send As Attachment

お役に立てれば!

コメントから更新

1) このファイルが閉じられているとき、または別のファイルがアクティブなとき、ユーザーは「通常の」機能を見つけます。UI のカスタマイズは、カスタム UI XML パーツを含むファイルにのみ適用されるため、複数のファイルを開いている場合、このファイルのみが無効化されたSave & Sendタブの影響を受けます。

2) 残念ながら、これはExcel 2003 以前と互換性がありません。CustomUI/XML は従来の XLS ファイルの一部ではないため、これらのバージョンでは実装できません。2003 以前のバージョンの Excel では、CommandBarsVBA で制御できるレガシーを使用する必要があります。CommandBarユーザーが 2003 以前のバージョンを使用している場合にのみ、Excel のバージョンを確認し、特定の /Controls を無効にするサブルーチンを実行する VBA コードを配置するのは比較的簡単です。

これを XLS ファイルに保存しようとすると、この機能がファイル タイプと互換性がないことを示す警告が表示されます。

CustomUI XML は XLS ファイルと互換性がありません

さらに、CustomUI エディターで XLS ファイルを開くことはできません。

于 2013-07-18T15:04:18.950 に答える
3

以下にリストされているコマンドを試しましたが、これらは の保存および送信メニューを無効にしていますExcel 2010:

Application.CommandBars("Worksheet Menu Bar").Controls("File").Controls("Send To").Enabled = False
Application.CommandBars("Worksheet Menu Bar").Controls("File").Controls("Save & Send").Enabled = False
于 2014-05-27T10:25:09.180 に答える
-1

このコマンドは私のために働いた

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<commands>
    <command idMso="TabShare" enabled="false"/>
</commands> 
</customUI>
于 2015-01-06T07:48:34.960 に答える