PowerPoint VBAを使い、全スライドの算用数字を漢数字に一括変換するマクロをご紹介します。
縦書き住所の番地を漢数字にしたいときなどに有効です。
漢数字を算用数字に変換するマクロもご用意しました。
コードは神AI「ChatGPT」で開発しました。ChatGPTについては、次の記事で解説しています。
神AI「ChatGPT」でパワポVBAを開発【始め方から解説】
ChatGPTとは、質問を投げると人工知能が回答してくれるチャットサービスです。Excelでの数式や…
算用数字を漢数字に一括変換するマクロ
コード
Sub ConvertNumberToKanji() '漢数字を定義 Dim kanjiArray() As String kanjiArray = Split("〇,一,二,三,四,五,六,七,八,九", ",") '全スライドを処理 Dim sld As Slide For Each sld In ActivePresentation.Slides 'スライド内の全テキストボックスを処理 Dim shp As shape For Each shp In sld.Shapes If shp.Type = msoTextBox Then 'テキストボックス内の文字列を取得 Dim text As String text = shp.TextFrame.TextRange.text '文字列内の数字を漢数字に変換して置き換え Dim i As Integer For i = 0 To 9 text = Replace(text, CStr(i), kanjiArray(i)) Next i '変換した文字列をテキストボックスにセット shp.TextFrame.TextRange.text = text End If Next shp Next sld End Sub
TextRange.Replaceメソッドで文字列内の算用数字「CStr(i)」を漢数字「kanjiArray(i)」に置き換えしています。
マクロの使い方は、次の記事で解説しています。
PowerPointマクロ入門 | コピペで始める楽々コース
PowerPointでマクロを始めたいけど、難しそうでよく分からないという方向けの入門編です。PPD…
実行結果
テキストボックスに半角の算用数字で「0〜9」を入力しました。
マクロを実行すると漢数字に一括で変換されます。全てのスライドに対して処理されます。
漢数字を算用数字に一括変換するマクロ
コード
Sub ConvertKanjiToNumber()
Dim sld As Slide Dim shp As shape Dim txtRange As TextRange Dim kanji As Variant Dim i As Long kanji = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九") 'すべてのスライドで繰り返す For Each sld In ActivePresentation.Slides 'すべてのテキストボックスで繰り返す For Each shp In sld.Shapes If shp.HasTextFrame Then Set txtRange = shp.TextFrame.TextRange 'テキストを漢数字から算用数字に変換する For i = LBound(kanji) To UBound(kanji) txtRange.text = Replace(txtRange.text, kanji(i), i) Next i End If Next shp Next sld End Sub
TextRange.Replaceメソッドで文字列内の漢数字「kanji(i)」を算用数字「i」に置き換えしています。
実行結果
テキストボックスに半角の漢数字で「〇〜九」を入力しました。
マクロを実行すると算用数字に一括で変換されます。全てのスライドに対して処理されます。