0

VBA を使用して、Excel 2010 の右ボタン クリック メニューから [貼り付けオプション] を削除する必要があります。

不要な「通常の」コントロール項目 (「カット & コピー」、「& コピー」、「貼り付け & 特殊...」など) はすべて削除できますが、「貼り付けオプション」とその項目は削除できません。アイコンの子供たち。Excel の [ファイル] -> [オプション] -> [詳細設定] -> [コピーと貼り付けの切り取り] から [貼り付けオプション] も削除しましたが、右ボタンの [貼り付けオプション] をクリックしても効果がありません。私は解決策を広範囲に検索しましたが、Web 上のどこにもこれへの参照が見つかりません。

また、VBA の [ローカル] ウィンドウで CommandBar オブジェクトを調べ、すべてのプロパティを調べましたが、[貼り付けオプション] が保持されている場所がわかりません。

前もって感謝します

4

2 に答える 2

3

customui エディタを使用して、これを customui14 部分に追加できます

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <commands>
        <command idMso="Paste" enabled="false"/>
        <command idMso="PasteGallery" enabled="false"/>
        <command idMso="PasteGalleryMini" enabled="false"/>
        <command idMso="PasteMenu" enabled="false"/>
        <command idMso="PasteLink" enabled="false"/>
        <command idMso="PasteAsHyperlink" enabled="false"/>
        <command idMso="PasteSpecialDialog" enabled="false"/>
        <command idMso="PasteFormatting" enabled="false"/>
        <command idMso="PasteFormulas" enabled="false"/>
        <command idMso="PasteValues" enabled="false"/>
        <command idMso="PasteFormulasAndNumberFormatting" enabled="false"/>
        <command idMso="PasteTranspose" enabled="false"/>
        <command idMso="PastePictureLink" enabled="false"/>
    </commands>
</customUI>

代わりにコントロールを非表示にする場合は、操作するメニューごとに行う必要があります。たとえば、セル メニューの場合

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <contextMenus>
        <contextMenu idMso="ContextMenuCell">
            <gallery idMso="PasteGalleryMini" visible="false"/>
        </contextMenu>
    </contextMenus>
</customUI>
于 2013-07-30T16:17:01.377 に答える
0

for ループを使用して、コンテキスト メニューのCommabdBarControl 要素の ID とキャプションを次に示します。

    IDキャプション
    21 カット&カット
    19 &コピー
    22 &ペースト
    21437 ペースト&スペシャル...
    3624 テーブルの貼り付け(&P)
    25536 スマートルックアップ(&L)
    32713 データ型(&Y)
    33409 翻訳する
    295 セルの挿入(&E)...
    27690 セルを挿入(&E)...
    292&削除...
    3125 クリアコンテンツ(&N)
    24508 &クイック分析
    31623 スパークライン&アークライン
    31402 フィルター(&E)
    31435 ソート(&S)
    2031 コメントを挿入(&M)
    1592 コメントを削除(&M)
    1593 コメントの表示/非表示
    855 セルのフォーマット...
    1966 ドロップダウン リストから選択(&K)...
    1614 音声フィールドを表示(&Show)
    13380 名前の定義(&A)...
    1576 &ハイパーリンク...
    1577 ハイパーリンクを編集(&H)...
    1015 ハイパーリンクを開く(&O)
    3626 ハイパーリンクを削除(&R)
    11299 詳細を展開(&X)
    31595 追加アクション(&I)
    178 フルスクリーン(&U)
    22577 &追加アクション

したがって、「貼り付け」と「特殊貼り付け」を削除すると、すべての貼り付けオプションがなくなるようです。「テーブルの貼り付け」が何を指しているのか正確にはわかりません。

    For Each menuItem In Application.CommandBars("Cell").Controls
        menuItem.ID = 22 または menuItem.ID = 21437 の場合 menuItem.Delete
    次

于 2019-09-24T15:40:57.257 に答える