いつもお世話になっております。
表題の件について質問させてください。
お世話になっております。
表題の件で質問をさせてください。
環境:
Windows 10 Pro x64
Power Point 2016
パワポで使う文字って大体下のパターンだと思っております。
下記のVBAを使ってパワポの種類を統一させてみましたが、表とグループ化した文字は変わりませんでした。
VBA
1Sub フォントを一括変更する() 2 3 'Const FNT_NAME = "Times New Roman" 4 Const FNT_NAME = "Meiryo UI" 5 Const FNT_SIZE = "10.5" 6 Dim sld As Slide 7 Dim shp As Shape 8 9 For Each sld In ActivePresentation.Slides 10 'テキストボックス 11 For Each shp In sld.Shapes 12 If shp.Type <> msoPlaceholder Then 13 If shp.HasTextFrame Then 14 15 With shp.TextFrame.TextRange.Font 16 .Name = FNT_NAME 17 .NameFarEast = FNT_NAME 18 .Size = FNT_SIZE 19 End With 20 21 End If 22 End If 23 Next shp 24 Next sld 25End Sub
調べてみたところサンプルを発見したので以下のVBAサンプルを使ってみましたが上手くいきません。
VBA
1Sub フォントの一括変換() 2 'Const FontName = "MSP ゴシック" 3 Const FontName = "Meiryo UI" 4 5 Dim sld As Slide 6 Dim shp As Shape 7 Dim clm As Columns 8 Dim cl As Object 9 Dim gsh As GroupShapes 10 11 12 For Each sld In Application.ActivePresentation.Slides 13 For Each shp In sld.Shapes 14 'テキストボックス 15 If shp.HasTextFrame Then 16 With shp.TextFrame.TextRange.Font 17 .name = FontName 18 .NameFarEast = FontName 19 End With 20 End If 21 'テーブル内変換 22 If shp.HasTable Then 23 For Each clm In shp.Table.Columns 24 For Each cl In clm.Cells 25 26 With cl.Shape.TextFrame.TextRange.Font 27 .name = FontName 28 .NameFarEast = FontName 29 End With 30 Next 'cl 31 Next 'clm 32 End If 'HasTable 33 'グループの場合 34 If shp.Type = msoGroup Then 35 For Each gsh In shp.GroupItems 36 If gsh.HasTextFrame Then 37 With gsh.TextFrame.TextRange.Font 38 .name = FontName 39 .NameFarEast = FontName 40 End With 41 End If 'HasTextFrame 42 Next 'gsh 43 End If 44 Next 45 Next 46End Sub
For Each cl In clm.Cells
のところでエラーになります。
調べたところColumns
にCells
は存在しない様ですが、メソッドを変更したりもしましたが、
上手くいかずに再び質問をいたしました。
申し訳ございませんがご回答いただけませんでしょうか。
何卒宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/24 12:56