一括で算用数字を漢数字に変えたり、漢数字を半角・全角の算用数字に変えたりするワードのマクロ 【youtubeshort】 |
A 算用数字(半角・全角)を漢数字に変える | ワードで横書きの文章を縦書きの文章にしたとき、算用数字を漢数字に変えたくなります。また、その逆もあります。 その場合、左のマクロをワードに貼り付ければ、簡単にできます。 ワードにマクロを貼り付ける方法はいくつかあります。今回は「Alt+F11」と「Alt+F8」のキーを使用する方法を紹介します。 ワードファイルを開きます。「Alt+F11」キーを押します。下の左の画面が表示されます。マクロを入力する画面です。「Normal」にマウスを置いて右クリックします。下の右図のメニューが表示されるので、「挿入」→「標準モジュール」の順にマウスを移動してクリックします。
|
|||||
Sub 算用数字を漢数字に変換() Dim num As Integer Dim kan() As Variant kan() = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九") For num = 0 To 9 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = num .Replacement.Text = kan(num) .Forward = True .Wrap = wdFindContinue .MatchWholeWord = False .MatchByte = False .MatchWildcards = False .MatchFuzzy = True End With Selection.Find.Execute Replace:=wdReplaceAll Next End Sub |
||||||
B 漢数字に全角の算用数字に変える | ||||||
Sub 漢数字を全角算用数字に変換() Dim kanjiNums As Variant Dim zenkakuNums As Variant Dim i As Integer kanjiNums = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九") zenkakuNums = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9") For i = 0 To UBound(kanjiNums) With ActiveDocument.Content.Find .ClearFormatting .Replacement.ClearFormatting .Text = kanjiNums(i) .Replacement.Text = zenkakuNums(i) .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .Execute Replace:=wdReplaceAll End With Next i End Sub |
||||||
C 漢数字に半角の算用数字に変える | ||||||
Sub 漢数字を半角算用数字に変換() Dim kanjiNums As Variant Dim arabicNums As Variant Dim i As Integer Dim rng As Range ' 漢数字と対応する半角数字の配列 kanjiNums = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九") arabicNums = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9") Set rng = ActiveDocument.Content ' 単純な文字置換(漢数字 → 数字) For i = 0 To UBound(kanjiNums) With rng.Find .ClearFormatting .Text = kanjiNums(i) .Replacement.ClearFormatting .Replacement.Text = arabicNums(i) .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .Execute Replace:=wdReplaceAll End With Next i End Sub |
範囲を選択して、算用数字を漢数字に変えたり、漢数字を半角・全角の算用数字に変えたりするワードのマクロを紹介します。 |
D 範囲を選択して算用数字に漢数字に変える | E 範囲を選択して漢数字に全角の算用数字に変える | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Sub 算用数字を範囲を指定して漢数字に変換() Dim num As Integer Dim kan() As Variant kan = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九") Dim rng As Range Set rng = Selection.Range ' ← 選択範囲に限定 For num = 0 To 9 With rng.Find .ClearFormatting .Replacement.ClearFormatting .Text = CStr(num) .Replacement.Text = kan(num) .Forward = True .Wrap = wdFindStop ' ← 範囲内のみ .MatchWholeWord = False .MatchWildcards = False .MatchFuzzy = False .Execute Replace:=wdReplaceAll End With Next num End Sub |
>Sub 漢数字を範囲を指定して全角算用数字に変える() Dim kanjiNums As Variant Dim zenkakuNums As Variant Dim i As Integer Dim selRange As Range Dim textContent As String kanjiNums = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九") zenkakuNums = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9") Set selRange = Selection.Range textContent = selRange.Text For i = 0 To UBound(kanjiNums) textContent = Replace(textContent, kanjiNums(i), zenkakuNums(i)) Next i selRange.Text = textContent End Sub |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
F 範囲を選択して漢数字に半角の算用数字に変える | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Sub 漢数字を範囲を指定して半角算用数字に変える() Dim kanjiNums As Variant Dim zenkakuNums As Variant Dim i As Integer Dim selRange As Range Dim textContent As String kanjiNums = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九") zenkakuNums = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9") Set selRange = Selection.Range textContent = selRange.Text For i = 0 To UBound(kanjiNums) textContent = Replace(textContent, kanjiNums(i), zenkakuNums(i)) Next i selRange.Text = textContent End Sub |