Wordファイルの透かしを削除するマクロ

Pocket

Wordファイルの透かしを削除するには次のようにします(Word2007)。

  1. ページレイアウト-ページの背景-透かしを選択。
  2. 透かしの削除を選択。

これをマクロで実行する方法を考えました。
複数のWord文書に連続して処理を施すマクロに応用することもできます。

「透かし」の実態はヘッダーに組み込まれた図形(ワードアート)であって、その図形には名前が付いています。
名前が分かれば次のように指定して削除すれば済みます。

Selection.HeaderFooter.Shapes(名前).Delete

しかし、名前が特定できないので、次のように、すべての図形に対して名前を取得して調べる、ということをします。
透かしの場合、名前は「PowerPlusWaterMarkObject7629843」のように「PowerPlusWaterMarkObject」という文字列を含むため、これを条件にします。

Sub del_watermark()
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    For i = 1 to Selection.HeaderFooter.Shapes.Count
        Set obj = Selection.HeaderFooter.Shapes(i)
        If InStr(obj.Name, "PowerPlusWaterMarkObject") > 0 Then
            Selection.HeaderFooter.Shapes(obj.Name).Delete
        End If
    Next i
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub

なお、先に書いたように、透かしの実体はヘッダーに組み込まれた図形です。
通常は、ヘッダーに図形を組み込むという使い方はしないでしょう。
となれば、図形は1個だけですから、次のように「Shapes(1)」と指定してもOKです。

Sub del_watermark()
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.HeaderFooter.Shapes(1).Delete
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub

[ 2011年6月29日 | カテゴリー: Word | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報