Word文書に「機密」「下書き」「サンプル」などの水印を追加したいと思ったことはありませんか?特に、複数の文書に一括で水印を挿入したい場合、手作業では時間がかかりますよね。そこで登場するのが、Word VBA(Visual Basic for Applications)です。VBAを使うことで、複数の文書に一括で水印を挿入することができます。
今回は、初心者の方でもわかりやすいように、VBAを使ってWord文書に水印を挿入する方法を解説します。
目次
VBAで水印を挿入する基本のコード
Word VBAを使って水印を挿入する基本的なコードは以下の通りです。
Sub AddWatermark()
Dim sec As Section
Dim hdr As HeaderFooter
Dim shp As Shape
' 各セクションのヘッダーに水印を追加
For Each sec In ActiveDocument.Sections
For Each hdr In sec.Headers
' 水印の挿入
Set shp = hdr.Shapes.AddTextEffect(msoTextEffect1, "CONFIDENTIAL", "Arial", 36, msoFalse, msoFalse, 0, 0)
With shp
.Name = "Watermark"
.TextEffect.NormalizedHeight = msoFalse
.Line.Visible = msoFalse
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.RGB = RGB(192, 192, 192)
.Fill.Transparency = 0.5
.Rotation = 315
.LockAspectRatio = msoTrue
.Height = InchesToPoints(3)
.Width = InchesToPoints(6)
.WrapFormat.AllowOverlap = msoTrue
.WrapFormat.Side = wdWrapNone
.RelativeHorizontalPosition = wdRelativeVerticalPositionMargin
.RelativeVerticalPosition = wdRelativeVerticalPositionMargin
.Left = wdShapeCenter
.Top = wdShapeCenter
End With
Next hdr
Next sec
End Sub
このコードは、文書内の各セクションのヘッダーに「CONFIDENTIAL」というテキストの水印を挿入します。フォントや色、透明度、回転角度なども指定しています。
複数の文書に一括で水印を挿入する方法
複数の文書に一括で水印を挿入する場合、以下のようなコードを使用します。
Sub AddWatermarkToMultipleDocuments()
Dim oWord As Object
Dim oDoc As Object
Dim strPath As String
Dim fileDialog As Object
' Wordアプリケーションを起動
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
' ファイルダイアログを表示
Set fileDialog = oWord.FileDialog(3) ' 3はmsoFileDialogFilePicker
fileDialog.AllowMultiSelect = True
If fileDialog.Show = -1 Then
For Each strPath In fileDialog.SelectedItems
' 文書を開く
Set oDoc = oWord.Documents.Open(strPath)
' 水印を追加するコードをここに挿入
' 例: AddWatermark
oDoc.Save
oDoc.Close
Next strPath
End If
' Wordを終了
oWord.Quit
End Sub
このコードは、ユーザーが選択した複数のWord文書に対して、先ほどの水印挿入コード(AddWatermark)を適用します。
水印を削除する方法
文書から水印を削除するには、以下のコードを使用します。
Sub RemoveWatermark()
Dim sec As Section
Dim hdr As HeaderFooter
Dim shp As Shape
' 各セクションのヘッダーから水印を削除
For Each sec In ActiveDocument.Sections
For Each hdr In sec.Headers
For Each shp In hdr.Shapes
If shp.Name Like "Watermark*" Then
shp.Delete
End If
Next shp
Next hdr
Next sec
End Sub
このコードは、文書内の各セクションのヘッダーから「Watermark」という名前が含まれるすべての形状(水印)を削除します。
よくある質問
Q1: VBAのコードをどこに入力すれば良いですか?
VBAのコードは、Wordの「開発」タブから「Visual Basic」を選択し、VBAエディタを開いて入力します。新しいモジュールを挿入し、そこにコードを貼り付けてください。
Q2: 水印のテキストやフォントを変更するにはどうすれば良いですか?
コード内の「CONFIDENTIAL」という部分を変更することで、テキストを変更できます。また、フォントやサイズ、色などもコード内で指定できます。
Q3: 水印を画像に変更するにはどうすれば良いですか?
水印を画像に変更するには、コード内の「AddTextEffect」の部分を「AddPicture」に変更し、画像ファイルのパスを指定します。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
VBAを使うことで、Word文書に水印を簡単に挿入・削除することができます。特に、複数の文書に一括で水印を適用したい場合に非常に便利です。初心者の方でも、上記のコードをコピー&ペーストするだけで実行できますので、ぜひ試してみてください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。
コメント