まりふのひと

Word2010のマクロ/半角スペース2ヶを全角スペース1ヶに変換(置換)する

マクロあるいは VBAのコードをはてなダイアリーにコピペすると、半角スペースは無視されるので、折角のインデントが台無しになる。そこで、Word2010に貼り付け、(1)2ヶの連続した半角スペースを全角スペースに置換、(2)空行は全角スペース2ヶに置換するマクロ「半角2スペースを全角スペースに変換する」を作成した。

  1. Sub 半角2スペースを全角スペースに変換する()
  2. 'VBAのコードを「はてなダイアリー」の[数字リスト]としてアップするための前処理。
  3.  
  4. Selection.Find.ClearFormatting
  5. Selection.Find.Replacement.ClearFormatting
  6. With Selection.Find
  7. .Text = " "
  8. .Replacement.Text = " "
  9. .Forward = True
  10. .Wrap = wdFindContinue
  11. .Format = False
  12. .MatchCase = False
  13. .MatchWholeWord = False
  14. .MatchByte = False
  15. .MatchAllWordForms = False
  16. .MatchSoundsLike = False
  17. .MatchWildcards = False
  18. .MatchFuzzy = False
  19. End With
  20. Selection.Find.Execute Replace:=wdReplaceAll
  21. '空行は全角スペースを2っ入れる。
  22. Selection.Find.ClearFormatting
  23. Selection.Find.Replacement.ClearFormatting
  24. With Selection.Find
  25. .Text = "^p^p"
  26. .Replacement.Text = "^p ^p"
  27. .Forward = True
  28. .Wrap = wdFindContinue
  29. .Format = False
  30. .MatchCase = False
  31. .MatchWholeWord = False
  32. .MatchByte = False
  33. .MatchAllWordForms = False
  34. .MatchSoundsLike = False
  35. .MatchWildcards = False
  36. .MatchFuzzy = False
  37. End With
  38. Selection.Find.Execute Replace:=wdReplaceAll
  39. End Sub