お客様によりますが、納品用のWordファイル文の中にコメント機能を使って納品メモを残すことができることがあります。
または、自分のメモ書きとしてあとで見直すときにコメント機能はかなり便利ですね。最近多用するようになりました。
社内の文書であれば、コメント機能に修正・変更箇所の説明を入れたりして、意思疎通をされているかもしれません。
そのような場合に、自分がどのようなコメントを入れたのか、またコメントを入れた対象の文字列がどこなのかを一望できるようにマクロにしてみました。
単純に書き出すだけですが、自分用の確認としては問題ないでしょう。
また、タブ区切りですので、表にすることも簡単にできますね。
▼このマクロでできること
処理対象とする文書を開いて実行すると、文書中のコメントをすべて別紙に書き出します。
ただし、コメントの対象となる文字列やコメント中の文字列のテキスト情報のみを書き出すので、書式があった場合でも反映されません。
以下のように、新しい文書が開かれて文字が書き出されます。下線が入っていません。
▼マクロの解説
コメントをつける対象の文字列を、Comments.ScopeプロパティのTextプロパティで取得しています。
入力したコメントを、Comments.RangeプロパティのTextプロパティで取得しています。
実は、上記は両方ともTextプロパティを記載しなくても同じ作用になりますが、明示的に記載しました。
省略した場合には、Textプロパティが設定されていると見なされるからですね。
For...Next ステートメントで、文書中のコメントすべてに対して、上記のテキストデータの取得を実施して、新しく開いた文書に書き込んでいます。
▼マクロ
Sub コメントを別紙に書き出すマクロ()
Dim i As Integer
Dim actDoc As Document
Dim newDoc As Document
If ActiveDocument.Comments.Count = 0 Then Exit Sub
Set actDoc = ActiveDocument
Set newDoc = Documents.Add
For i = 1 To actDoc.Comments.Count
With actDoc.Comments(i)
newDoc.Range.InsertAfter _
Text:=.Scope.Text & vbTab & .Range.Text & vbCr
End With
Next i
Set actDoc = Nothing
Set newDoc = Nothing
End Sub
→ 表を自動作成するマクロも紹介しています。 コメントを書き出すマクロ(その2)
▼お知らせ
明日、東京でワードマクロ勉強会
を開催いたします。
日時:2012年1月23日(月) 10時~17時
場所:ちよだプラットフォームスクウェア
詳細・お申し込みは、こちら
から。
今回は、3回シリーズの初回です。Wordマクロの初心者の方々向けに、プログラミングの導入部の演習をいたします。
私たち実務家(翻訳社、ライター、、、、)は、マクロのプログラマーになる必要はありません。あくまでも、マクロを実務で使えることが重要ですよね。
今回の勉強会では、私や他の方々がネットで公開しているマクロを自分好みに少しだけ修正して使い倒すための手順をお伝えします。
まずは、なぜWordマクロが実務に役に立つのか?というポイントをご説明いたします。
そして、Wordに登録するところからはじめて、キーボードに登録すること、ボタン化すること、ここまで何度も実習します。
今回は、新作のマクロも含めて60種類くらいサンプルのマクロをご用意いたしました。
このマクロを改造して、参加される方々のそれぞれの仕事・手順にあわせてマクロを修正してお持ち帰りいただきたいなと思います。
10名以下の少人数での開催ですので、参加される方々と対話をしながらすすめていきたいと思っています。楽しみです。
直前ですが、あと1名だけ参加者を募集いたします。
ご都合がつくかた、ぜひお会いしましょう!
詳細・お申し込みは、こちら
から。
懇親会のみのお申し込みも受付けています。
▼関連記事
コメントを書き出すマクロ(その2)
表を自動作成します。
文書中のテキストボックス内の文字列を別紙に書出すマクロ
マクロコードの登録方法
ツールバーのボタン登録