• ベストアンサー

PowerPointで作った図形の名前を変更したい

PowerPointで、図形描画を使い四角を作りました。マクロの記録でそれを選択すると、 ActiveWindow.Selection.SlideRange.Shapes("Rectangle 88").Select と出て名前が「Rectangle 88」だとわかりました。 この図形の名前を「shikaku1」に変更する事はできますか? また、マクロの記録を使わずに名前を確認する事はできますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

図形の名前を確認し必要なら変更するマクロです。 Sub ShNameChg()  Dim msg, N, shName  msg = "新しい名前を入力してください。"  N = ActiveWindow.Selection.ShapeRange.Name  On Error Resume Next  shName = InputBox(msg, "現在の名前: " & N)  ActiveWindow.Selection.ShapeRange.Name = shName End Sub > マクロの記録を使わずに名前を確認する事はできますか? できないと思います。 不便ですね。

kamoshi
質問者

お礼

misatoannaさん回答ありがとうございます。 今まで、マクロの記録で図形の名前を調べてから、それを動かすマクロを作っていました。名前も質問に書いたように「Rectangle 88」などわかりにくいものばかりでした。 それに比べ、これは便利ですね。名前を好きに決められるのでコードもわかりやすくなりました。 改めてお礼を申し上げます、ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

PowerPoint VBAは経験がありませんが、 エクセルでは下記は走りました。 Sub test02() MsgBox Worksheets("Sheet1").DrawingObjects(1).Name MsgBox Worksheets("Sheet1").DrawingObjects(2).Name Worksheets("Sheet1").Shapes("Rectangle 2").Select Selection.Name = "四角1" End Sub 類推で 上記をご参考に、Nameメソッドを試してみてください。 DrawingObjects(1は保証の限りにあらず。 ダメの場合はすみません。

kamoshi
質問者

お礼

imogasiさん、回答ありがとうございます。 少しためしたところ、 MsgBox ActiveWindow.Selection.ShapeRange.Name で選択している図形の名前を取得できました。これはとても便利です、もう一つの回答と組み合わせて、よいプログラムができました。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A