Wordファイルで、ファイル内にある余分な図形タイプ(水平線)を一括で削除するVBAサンプル。
変更対象の図は、行内に設定された図(インライン図形)で、水平線のタイプ。
Sub 水平線の一括変更() Dim 画像 As Object For Each 画像 In ActiveDocument.InlineShapes '行内の図が対象 If 画像.Type = wdInlineShapeHorizontalLine Then '水平線のみ抽出 画像.Delete End If Next End Sub
作成の背景は、PC画面の操作マニュアルの作成に便利な「ステップ記録ツール」で作成したmhtファイルをWordで編集する際に、文章内にある多くの水平線が余分だったため。
Wordには、「類似した書式の文字列を選択」という機能があるので「ステップ記録ツール」で作成したmhtファイルの水平線であれば、VBAを使用しなくても期待に近い削除は可能。水平線以外の一部の”不要な改行”も削除されてしまうが、目的は概ね達成できる。
ただし、「ステップ記録ツール」で作成したmhtファイルの画像サイズ変更など含めた一括処理を作成したかったのでVBAで対応。