「ppt 半角を全角」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
PowerPointで、半角文字を全角文字にする方法を探している方による検索です。
Wordには文字種別を変換するコマンドが存在しています。
2003までのWordならメニュー[書式]-[文字種の変換]から表示できる[文字種の変換]ダイアログで、2007以降のWordなら[ホーム]タブ-[フォント]グループ-[文字種の変換]ボタンから、半角文字を大文字にすることができます。
しかし、PowerPointにはそのようなコマンドが残念ながら存在していません。
半角の文字列を全角に一括変換したいのなら、VBA(Visual Basic for Applications)でマクロを作りましょう。
Sub プレゼンファイル上のすべての文字列を全角にする()
Dim sld As Slide
Dim shp As Shape
'アクティブファイルの全スライドに対しループ処理
For Each sld In ActivePresentation.Slides
'それぞれのスライドの全シェイプに対しループ処理
For Each shp In sld.Shapes
'シェイプがTextFrameを持っているときだけ処理実行
If shp.HasTextFrame Then
shp.TextFrame.TextRange.Text = _
StrConv(shp.TextFrame.TextRange.Text, vbWide)
End If
Next shp
Next sld
End Sub上記のマクロを実行すると、アクティブなプレゼンテーションファイル上の半角文字列が全角文字列に変換されます。
全スライドに対するループ処理の中に、個々のスライドに含まれるシェイプに対してループを回し、その中でVBAではStrConv関数を使って文字列を全角にしています。
プレゼンテーションファイル全体に対する変換ではなく、アクティブなスライドの半角文字だけ全角に変換したいということもあるでしょう。
その場合は、以下のようなマクロです。
Sub アクティブスライドの文字列を全角にする()
Dim shp As Shape
'アクティブなスライドの全シェイプに対しループ処理
For Each shp In ActiveWindow.Selection.SlideRange.Shapes
'シェイプがTextFrameを持っているときだけ処理実行
If shp.HasTextFrame Then
shp.TextFrame.TextRange.Text = _
StrConv(shp.TextFrame.TextRange.Text, vbWide)
End If
Next shp
上記いずれのマクロも、VBAのStrConv関数を使っているので、数字もアルファベットもカタカナもすべて全角になります。
先の検索をした方も、実は、すべての文字列を全角にするよりも、半角カタカナだけを全角にしたかったのではないかと想像しています。
そんなマクロについては、近日中に別途ご紹介します。
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 半角文字を全角に一括変換するPowerPointマクロ