Office関連

段落内改行を一括置換するOutlookマクロ

段落内改行 置換 Outlook マクロ」といったキーワードでのアクセスがありました。

恐らくメール本文内にある段落内改行(Shift + Enter)を通常の改行(Enter)にマクロを使って置換したい方の検索だと思われます。

この手の処理はWordで行うことが多く、Wordの資料を検索すると下記のようなページがすぐに見つかります。

・段落内で改行されている箇所を、通常の改行に変更したい
https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=011686

この作業をWordマクロに直したものが下記コードになります。

Public Sub SampleWord()
  Dim r As Word.Range
  
  Set r = ActiveDocument.Range(0, 0)
  With r.Find
    .Text = "^l" '任意指定の行区切り(段落内改行)
    .Replacement.Text = "^p" '段落記号
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = False
    .Execute Replace:=wdReplaceAll
  End With
End Sub

あとはこれをOutlook用に書き換えれば良いだけですが、Outlookのメール エディタとしてWordを利用している場合は、さほど難しくはありません。

Option Explicit

Public Sub SampleOutlook()
  Dim r As Object
  Const wdFindContinue = 1
  Const wdReplaceAll = 2
  
  With Application.ActiveInspector
    If .IsWordMail = True And .EditorType = olEditorWord Then
      Set r = .WordEditor.Range(0, 0)
      With r.Find
        .Text = "^l" '任意指定の行区切り(段落内改行)
        .Replacement.Text = "^p" '段落記号
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
        .MatchFuzzy = False
        .Execute Replace:=wdReplaceAll
      End With
    End If
  End With
End Sub

InspectorオブジェクトのWordEditorプロパティからは、WordのDocumentオブジェクトが取得できるので、これを使えばWord用のコードをほとんどそのまま動かすことができます。

ただし、Wordを参照設定していないとWord固有の定数やオブジェクトがそのままでは使えませんので、Constステートメントで定数を宣言しておく、固有オブジェクト型の変数を「Object」型の変数に置き換えておく、といった作業が必要になります。

関連Webページ

Office 2016 Preview for Windowsのサポート情報まとめ前のページ

徹底的にSymbol(シンボル)フォントをチェックするWordマクロ次のページ

関連記事

  1. Office関連

    Officeファイルから作成者などのプロパティを取得するVBScript

    下記記事でも書いていますが、xlsxやdocxといった、OOXML形式…

  2. アイコン一覧

    Office 365アイコン(imageMso)一覧(I)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  3. Office関連

    日本語の文法上の誤りを列挙して修正候補をコメントとして追加するWordマクロ

    前回の記事の関連で、今度は日本語の文法上の誤りを列挙して修正候補をコメ…

  4. Office関連

    2つの文書を比較するWordマクロ

    先日テキスト比較ソフトの「ちゃうちゃう!」がバージョンアップされたこと…

  5. Office関連

    Wikipediaの検索予測キーワードの一覧を取得するVBAマクロ

    Wikipediaのサーチボックスにキーワードを入力すると、入力したキ…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

最近の記事

アーカイブ

PAGE TOP