ダイアンは、新しいスタイルの導入を除外するテンプレートを作成する方法があるかどうか疑問に思います。クライアントは、フォーマットとスタイルのある資料をドキュメントに貼り付けるため、問題が発生する可能性があります。

彼女は、テンプレート以外のスタイルをロックアウトするドキュメントを作成する汎用テンプレートを作成したいと考えています。

この問題は、Wordユーザーを何年も(数十年ではないにしても)悩ませてきた問題です。テンプレートとスタイルシートを思い通りに入手し、それを他の人に送って、電子的にボロボロに相当するスタイルリスト(およびドキュメントのフォーマット)とともに返してもらうために、かなりの時間を費やすことができます。

状況を改善するために取ることができるいくつかのアプローチがあります。まず、ドキュメントに何も貼り付けないように他の人に依頼するだけの「そうしないでください」というアプローチを試すことができます。または、何かを貼り付ける必要がある場合は、フォーマットせずに貼り付けることができる[形式を選択して貼り付け]バリアントの1つを使用するように依頼します。

より強力なアプローチが必要な場合は、次の手順に従ってください。

。必要に応じてテンプレート(スタイルを含む)を設定します。

。テンプレートをWordに読み込んだ状態で、リボンの[ホーム]タブを表示します。

。 [スタイル]グループの右下にある小さなアイコンをクリックします。 Wordは、画面の右側に[スタイル]ペインを表示します。

。 [スタイル]ペインの下部にある[スタイルの管理]アイコンをクリックします。 (どのアイコンがどれであるかがわからない場合は、ツールチップの[スタイルの管理]が表示されるまで、各アイコンの上にマウスポインターを置きます。)Wordは[スタイルの管理]ダイアログボックスを表示します。

。 [制限]タブが選択されていることを確認します。 (図1を参照)

。ダイアログボックスにリストされているスタイルから、ユーザーに使用させたいスタイルの選択セットを作成します。 (スタイル名をクリックし、Ctrlキーを押しながら他のスタイル名をクリックして選択セットを作成します。)

。 7 [フォーマットを許可されたスタイルに制限する]チェックボックスをクリックします。

。 [OK]をクリックします。

。テンプレートを保存します。

理論的には、テンプレートに基づくドキュメントは、ユーザーがフォーマットで使用できるスタイルを制限します。不明確なのは、これがドキュメントに貼り付けることができるスタイルの制限にも及ぶかどうかです。このアプローチのマクロ強制バージョンを好む場合は、次のブログで詳しく説明されているマクロを使用できます。

http://blogs.msdn.com/b/ericwhite/archive/2010/01/27/programmatically-limiting-styles-in-word.aspx

もちろん、フォーマットされたテキストをドキュメントに貼り付けないようにする一連のマクロを作成することもできます。 (ドキュメントの基になるテンプレートにマクロを配置すると、マクロはドキュメントに自動的に渡されます。通常の警告:ユーザーがマクロを有効にしない場合、このアプローチはほとんど価値がありません。)

たとえば、新しいスタイルが追加されないようにする1つの方法は、貼り付けの前後のスタイルの数を決定することです。数が増えた場合、マクロは貼り付けを元に戻し、ユーザーにプレーンテキストとしてクリップボードに貼り付けるかキャンセルするかを選択できます。このメソッドは、スタイルがテーブルやテキストボックスから導入されるのも防ぎます。

VBAにトラップされる可能性のある「一般的な」貼り付けイベントがないことを理解することが重要です。代わりに、Wordの組み込みコマンドのいくつかをカスタマイズする必要があります。以下は、これらのコマンドの4つを置き換えます。

Sub EditPaste()

Dim k As Long

Options.PasteFormatBetweenDocuments = wdMatchDestinationFormatting     Options.PasteFormatBetweenStyledDocuments = wdUseDestinationStyles     k = ActiveDocument.Styles.Count     Selection.Range.Paste     If k <> ActiveDocument.Styles.Count Then         ActiveDocument.Undo         MsgBox "Paste unsuccessful. You tried to introduce new styles."

End If End Sub
Sub EditPasteSpecial()

Dim k As Long     Dim lk As Boolean

Options.PasteFormatBetweenDocuments = wdMatchDestinationFormatting     Options.PasteFormatBetweenStyledDocuments = wdUseDestinationStyles     k = ActiveDocument.Styles.Count     With Dialogs(wdDialogEditPasteSpecial)

.Show         lk = .link     End With     If lk Then         ActiveDocument.Undo         MsgBox "You are not allowed to paste links"

Exit Sub     End If     If k <> ActiveDocument.Styles.Count Then         ActiveDocument.Undo         If MsgBox("You have tried to introduce new styles." & vbCrLf & _           "Do you want to paste as plain text?", vbYesNo) = vbYes Then _           Selection.Range.PasteSpecial datatype:=wdPasteText     End If End Sub
Sub PasteDestinationFormatting()

Dim k As Long

k = ActiveDocument.Styles.Count     Selection.Range.Paste     If k <> ActiveDocument.Styles.Count Then         ActiveDocument.Undo         MsgBox "Paste unsuccessful. You tried to introduce new styles."

End If End Sub
Sub PasteSourceFormatting()

MsgBox "You are not allowed to paste with source formatting"

End Sub

別の非マクロアプローチは、ドキュメントの保護を変更することです。

テンプレートをWordにロードしたら、次の手順に従います。

。リボンの linkDevelopertabを表示します。

。 [保護]グループの[編集の制限]ツールをクリックします。 Wordは、ドキュメントの右側に[編集の制限]ペインを表示します。

。 [書式設定の制限]領域で、[書式設定をスタイルの選択に制限する]チェックボックスをオンにします。

。チェックボックスのすぐ下にある[設定]リンクをクリックします。 Wordは、[書式設定の制限]ダイアログボックスを表示します。 (図2を参照)

。スタイルのリストに、ユーザーが使用できるようにするスタイルが反映されていることを確認してください。

。必要に応じて、ダイアログボックスの下部にあるチェックボックスを調整します。

。 [OK]をクリックします。 Wordは、[書式の制限]ダイアログボックスを閉じます。

。設定した制限により、ドキュメントで使用されているスタイルとの潜在的な競合が発生した場合、Wordは何をしたいかを尋ねます。

(あなたが望むように答えてください。)

。 [はい、保護の実施を開始します]をクリックします。 Wordは、[強制保護の開始]ダイアログボックスを表示します。

。必要に応じて、保護用のパスワードを入力します。 (2回入力する必要があります。)

。 [OK]をクリックします。

。 「フォーマットと編集の制限」作業ウィンドウを閉じます。

。テンプレートを保存します。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(12698)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice365のWordに適用されます。