最近翻訳で扱った書類にテキストの入力用のコンテンツコントロールが多数使用されているWordファイルがありました。
クライアントと相談したところ、翻訳の際にはコンテンツコントロールを削除してもよいということでした。
ところが、このコンテンツコントロールは削除できないような設定になっているのです!
プロパティの設定で、以下の項目がオンになっているとコンテンツコントロールの枠を削除できません。これでは翻訳時に原文が残ってしまうことになります。
1つ1つプロパティを開いて設定するのが面倒なので、この削除不可を一括でオフにするマクロを作ってみました。
<目次>
このマクロでできること
現在の文書中のコンテンツコントロールを削除可能に設定します。
マクロの解説
For Each ... Next ステートメントを使います。
関連するプロパティは LockContentControl です。
マクロの記録で簡単に調べられます。これをオフにします。
マクロ
Sub コンテンツコントロールを削除可能にする() Dim CC As ContentControl For Each CC In ActiveDocument.ContentControls CC.LockContentControl = False Next End Sub
後で気づいたこと
実は、この設定をマクロで実行する必要はありませんでした(笑)。
文書内の全選択([Ctrl]+[A]のショートカットキー)のあとで、コンテンツコントロールのプロパティからダイアログを開き設定を変更すると、選択範囲内のコンテンツコントロールに対して一括で設定できました。
むやみにマクロに頼らない姿勢も重要です。サンプルコードです。ひとまず作りました、ということで紹介しました。