2008-06-28

編集者な日々(5) 変更履歴とつきあう

変更履歴を使用しないというのが米国の法律事務所の主流です。

まぁ、動きに癖があり、バグかと思われるものも多いほか、ワードに保存されるメタデータ(文字以外の修飾情報)が多くなるのを割けるというのが主な趣旨のようです。また、理屈上、履歴を入れられたデータは相手が最後にさわったものなので、履歴なしでどこを変えられているかわからない以上、それをベースに作業すべきではないというのもあります。

そうはいうものの、変更履歴を使用する場合もあるのが現実。しかも、相手のコメントをそのドラフトで採用するようクライアントに求められることもしばしば。

そのときに人間の直感で考えるのは、コメントを次々表示してくれて、採用不採用のみをちゃっちゃと決めたいと言うこと。それを実現するためのショートカットがあると便利ですよね。

というわけでこのエントリ。


変更履歴関係は、デフォルトでは、ワードのショートカットキーは設定されておらず、マウスでの作業がメインとなりますがこれは相当面倒。

そこで、以下のようなショートカットキーをマクロで一括設定して使用することにしています。マクロを使用せずに一個ずつショートカットを設定する場合は、メニューの、ツール→ユーザ設定→オプション→キーボードから、コマンド設定の分類でツールを選び、command =のあとにある単語を探してもらうと個別に設定できます。たとえばNextChangeOrCommentとかですね。

これを設定すると、履歴をalt+上下で探し、それについて採用不採用をalt+左右で決定していくことができ、作業が結構早くなったりします。

よろしければ、お試しください。

'次の変更履歴 alt 下
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(40, wdKeyAlt), KeyCategory:= _
wdKeyCategoryCommand, Command:="NextChangeOrComment"

'前の変更履歴 alt 上
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(38, wdKeyAlt), KeyCategory:= _
wdKeyCategoryCommand, Command:="PreviousChangeOrComment"

'履歴を承諾 alt <-
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(39, wdKeyAlt), KeyCategory:= _
wdKeyCategoryCommand, Command:="AcceptChangesSelected"

'履歴を元に戻す alt ->
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(37, wdKeyAlt), KeyCategory:= _
wdKeyCategoryCommand, Command:="RejectChangesSelected"

編集者な日々(4) 単語の使用回数を知る

ドラフトが完成に近づく中、何かコメントを入れる際は、他の箇所にどのような影響が及ぶか予測したかったりします。

その際に役に立つのは、今直しを入れようとしている単語がどの程度使われているか知ること。マイナー単語なのか、いっぱい使われているのか。


で、それようのマクロを昔作っていたのを思い出し、引っ張り出してみました。

ワードで文字を選択した状態でこのマクロを走らせるとそのドキュメント上にその単語が何個あるか表示してくれるというとてもシンプルな機能。

たとえば「支配権」とかいう単語がその章で何回使われているのか知りたい場合、支配権、ってのを選択してこのマクロを走らせるだけですぐに知ることができます。

個人の環境では、これをctrl + alt + 十字キーの0に割り当てて、適宜使っています。
割り当てのためのマクロは

'選択単語の使用回数を数える ctrl + alt + num 0
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyNumeric0, wdKeyControl, _
wdKeyAlt), KeyCategory:=wdKeyCategoryMacro, Command:="選択単語"

ctrl + alt + num 0を、選択単語というマクロを起動させるというショートカットにしろというものですね。

で、本体の選択単語というマクロ。センスのない名前ですが。
ま、よろしければお使いください。

Sub 選択単語()

Dim hit As Integer
Dim yougo As String

hit = 0
yougo = Selection.Text

'画面更新をしない
With Application
.ScreenUpdating = False
.DisplayAlerts = wdAlertsNone
End With

NewWindow

'画面更新をしない
With Application
.ScreenUpdating = False
.DisplayAlerts = wdAlertsNone
End With


'画面の設定
ActiveWindow.ActivePane.View.Type = wdPrintView


'変更履歴関係の処理
With ActiveWindow.View
.ShowRevisionsAndComments = False
.RevisionsView = wdRevisionsViewFinal
End With



Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting

With Selection.Find
.Text = yougo
.Forward = True
.Wrap = wdFindContinue
.Format = True '上記フォーマットを利用する
.MatchCase = True '大文字小文字の区別
.MatchWholeWord = False
.MatchByte = True '半角全角の区別
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchFuzzy = False
.MatchWildcards = False
End With



'検索でヒットした文字列を太字にし、色を変える
Do While Selection.Find.Execute = True
'ヒットした数を加算
hit = hit + 1

Selection.Collapse wdCollapseEnd

Loop

ActiveWindow.Close

'画面設定戻す
With Application
.DisplayAlerts = wdAlertsAll
.ScreenUpdating = True
End With



MsgBox "「" & yougo & "」" & "は、この文書(クリーン)中で " & hit & " 回使用されています。"


End Sub