質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

0回答

661閲覧

PowerPointのVBAで、ある種のマクロを実行するとエラーメッセージは出ないが結果が反映されない原因・解決策を知りたい

nkgm6427

総合スコア4

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2019/11/09 05:26

前提・実現したいこと

袋文字を作るマクロを作るため、テキストボックスや表などの中にあるテキストの輪郭の太さを変更したい

発生している問題・エラーメッセージ

袋文字を作るマクロを作成しているのですが、その際にいくつかの問題に直面しましたので質問させていただきます。 以下に記すような4種類のマクロを各々実行した場合、下の3つではエラーメッセージは出ませんがマクロ処理が完了しても値が変更されません(ローカルウィンドウでも値が変化していないことを確認しています)。PowerPointのバージョンやOSなど動作環境の問題なのか、VBA側のバグなのか分からず悩んでいます。

該当のソースコード

VBA

1 2Sub outline1() 3With ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Font.Line 4 .Visible = msoTrue 5End With 6End Sub 7 8上記のように、予め手動で「テキストの輪郭なし」に設定したテキストボックスやオートシェイプ内のテキストに対して「輪郭あり」に変更するマクロを実行すると、輪郭が出現します。 9 10Sub outline2() 11With ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Font.Line 12 .Visible = msoFalse 13End With 14End Sub 15 16しかし上記のように、「テキストの輪郭あり」に設定したテキストに対して「輪郭なし」に変更するマクロを実行しても、輪郭が消えません。 17また、テキストが表中にある場合、 18 19Sub table1() 20With ActiveWindow.Selection.ShapeRange.Table.Columns(1).Cells(1).Shape.TextFrame.TextRange.Font 21 .Line.Visible = msoTrue 22 .Line.Transparency = 0 23 .Line.Weight = 10 24End With 25End Sub 26 27のように表中の特定のセル内のテキストを予め手動で「輪郭なし」に指定しておいて上記のマクロを実行しても輪郭が出現せず太さも10ptになりません(visible, transparency, weightをそれぞれ個別にも試しましたが全て無視されます) 28同様に、 29 30Sub table2() 31With ActiveWindow.Selection.ShapeRange.Table.Columns(1).Cells(1).Shape.TextFrame.TextRange.Font 32 .Line.Visible = msoFalse 33 .Line.Transparency = 1 34 .Line.Weight = 1 35End With 36End Sub 37 38のように特定のセル内のテキストを予め手動で「輪郭あり」に指定しておいて上記のマクロを実行しても輪郭が消えず太さも1ptになりません(visible, transparency, weightをそれぞれ個別にも試しましたが全て無視されます) 39

試したこと

上に記したように、各行を個別にも試しましたが、テキストボックスやオートシェイプ内のテキストでは「輪郭あり」から「輪郭なし」への変換だけが行えず、表中のテキストについてはテキストの輪郭に関する操作全般が無視されてしまいます。下に記した2つの動作環境で試しましたが、Windows環境ではTextFrameをTextFrame2とする必要があった他は全く同様な挙動でした。

補足情報(FW/ツールのバージョンなど)

動作環境1
Microsoft PowerPoint for Mac 2019 Ver 16.28 
Microsoft Visual Basic for Applications 7.1
macOS Mojave ver 10.14.6

動作環境2
Microsoft PowerPoint standard 2010 Ver 14.0.1715.1000 32bit
Microsoft Visual Basic for Applications 7.0
Windows 7 Professional Ver 6.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問