No.3ベストアンサー
- 回答日時:
No.1の回答者です。
> この仕様を実装したファイルを他のユーザーに展開
マクロやアドインを有効にするのは、ユーザー側で判断するもので
あり、発行者側では制限するのは難しいと思います。
セキュリティが厳しい環境ならば、外部のマクロなどは無効にする
のが基本ですからね。
https://support.office.com/ja-jp/article/Office- …
どうしても、マクロを有効にしてもらうのならば、[編集の制限]を
[変更不可(読み取り専用)]にして、パスワード付きにすることで
保護の中止を促すぐらいですね。
パスワードによる解除は。はマクロでの設定のみにすれば、保護の
解除のためにマクロを有効にしてくれるのではないでしょうか?
https://msdn.microsoft.com/ja-jp/vba/word-vba/ar …
No.2
- 回答日時:
No.1の回答者です。
Wordにおけるコマンドマクロを理解していないと、対応方法などの
見当がつかないかもしれませんね。
https://www.ka-net.org/blog/?p=2194
Wordでは、リボン上などにある各コマンドを編集することができる
ようになっています。
編集したコマンドマクロを保存する先で動作が変わります。
初期のコマンドはWordそのものが制御しますが、標準テンプレート
にコマンド名で登録すると、優先的にコマンドマクロとして実行し
Wordの機能を横取りします。
コマンドマクロの保存先の優先順位は、以下のようになります。
1.作業中の文書
2.文書が利用しているテンプレート(Normal,dotmなど)
3.アドインとして使用しているテンプレート
4.組み込みのコマンド(初期のコマンドとしての動作)
この順序で同名のマクロがあった場合に横取り(インターセプト)
されます。
コマンドマクロも同じで、文書名の標準モジュールが最優先される
ので、特定の文書のみにてマクロ実行されるだけでなく優先で動作
するのです。
そこで、On/Offの制御を他のマクロで行うのではなく、アドインの
チェックで行うことをお勧めします。
http://www.hi-ho.ne.jp/tomita/tips/tips_wd_000.h …
アドインにコマンドマクロを登録。
アドインとして、登録したテンプレートを追加
チェックが付いた状態なら制御された状態になります。
チェックを外せば、組み込みの動作に戻ります。
ちなみに、アドインのチェックもマクロで制御できます。
どうしてもアドインのチェックで対応をしたくないのなら、個々の
コマンドマクロに制御状態を読み込ませる(Callする)などでの
対応になると思います。
(コマンドマクロを呼び出すことはできないので、逆にします)
enunokokoroさん
ご丁寧に教えて頂き有難うございます。
私のレベルが低すぎて、一回で理解できませんでしたが、仰る方法をなんとか試してみます。ご親切に有難うございます。
No.1
- 回答日時:
特定のファイルのみでの禁止ですよね。
その場合は、以下の条件ならば可能だと思います。
単純な[コピー]や[切り取り]なら、Wordの場合は[コマンドマクロ]
を編集することで簡単に制限できますが、外部からの貼り付けなど
は制限するのが面倒です。
(直接の貼り付けではなく[形式を選択して貼り付け]があるので)
サンプルコードは単純です。
文書名の[標準モジュール]などに以下のマクロを登録します。
Sub EditCopy()
End Sub
Sub EditCut()
End Sub
Sub EditPaste()
End Sub
これで[ Ctrl+C ]キーと連動するコピーなどが実行されません。
「EditPaste」などのように「Edit~」の種類も多くありますし、
「Paste~」のようなコマンドも多くあります。
そのすべてを制限するのは大変だと思います。
(試していないので、どのコマンドを編集するのか未検証)
早々のご返信有難うございました、非常に助かりました。
教えて頂きました内容で、確かに制御できました。
追加の質問で恐縮ですが、上記コードを記載している間は基本的にコピペ等が常にできないかと思います、この制御のOn/Offをマクロ上で実行するにはどうしたらいいですか?別途、On/Offのためのコードを記載して、そこからCallする形でEditxxxを呼び出すようにしたのですが、うまくいかず。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Visual Basic(VBA) 【部分一致した行を含む8行をシートにコピーする方法】 以下のような作業を行いたいのですが、どなたがコ 1 2022/08/30 16:24
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Windows 10 Windows10パソコン右クリックメニューで「切り取り」と「コピー」を選択し間違わないようにしたい 3 2022/04/16 10:35
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Excel(エクセル) 複数のExcelブックのシート1の内容を1つのExcelブックにコピー貼り付けたいのでvbaコードを 7 2023/02/10 23:20
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのマクロは管理者でないと...
-
画像判定の出来るマクロツール
-
VBAを禁止している会社って...
-
ワードを起動した時にでる「セ...
-
Word2013: コピー、切り取り、...
-
テキストを以下の書式に変換す...
-
Word文書に必須入力項目を設けたい
-
Access2010マクロ メッセージ...
-
マクロのアイコンを消したい
-
今まで実行できていたマクロが...
-
Excelのマクロのショートカット...
-
Excelのシートを印刷不可(禁止...
-
EXCELのマクロを有効にする
-
Wordのマクロを有効にする方法
-
WORDのマクロでNG文字がある場...
-
PERSONAL..XLSを削...
-
エクセルのVBAで自動的にVBE画...
-
ワードを立ち上げると画面が小...
-
wordの差し込み印刷で困ってい...
-
ロータス1,2,3がエクセルに駆逐...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(実行時エラー5852)Excelデータ...
-
Access2010マクロ メッセージ...
-
Excelのシートを印刷不可(禁止...
-
Word文書に必須入力項目を設けたい
-
Excelのマクロは管理者でないと...
-
PERSONAL..XLSを削...
-
KingsoftのOffice2013でExcelの...
-
画像判定の出来るマクロツール
-
Wordのマクロを有効にする方法
-
Word2013: コピー、切り取り、...
-
パワーポイントのマクロの実行
-
WORDのマクロでNG文字がある場...
-
Excelのマクロのショートカット...
-
VBAを禁止している会社って...
-
EXCELのマクロを有効にする
-
マクロについて
-
word 英語 大文字を小文字に変...
-
今まで実行できていたマクロが...
-
エクセルのVBAで自動的にVBE画...
-
EXCEL マクロで「標準モジュー...
おすすめ情報
質問者です。
enunokokoroさん2度に渡り、ご回答頂き有難うございます。
ご指摘の通り、アドインorテンプレートにコマンドマクロを登録し、チェックのOn/Offもしくは、テンプレートから外すことで、望んでいたコピペ禁止の仕様が実現できました。
おそらくこれで最後の質問になると思いますが、この仕様を実装したファイルを他のユーザーに展開した場合、当該ユーザーにて同様に機能のOn/Off、テンプレートから外す等が可能となってしまうかと思いますが、これを禁止する方法はございますか?(自分以外が当該機能のon/offを操作させたくない)
何度も質問してしまい大変恐縮です。