おそらく非常にばかげた質問ですが、PowerPoint でオブジェクトの名前を変更する方法がわかりません。たとえば、すべてのグラフはデフォルトで「Graph 1」などと呼ばれています。ありがとう!
3 に答える
PowerPoint 2007 では、選択ウィンドウからこれを行うことができます。
選択ペインを表示するには、リボンの [ホーム] タブをクリックし、[配置] をクリックして、下部にある [選択ペイン...] をクリックします。選択ペインが右側に開きます。(または CTRL+F10 を押します)
オブジェクトの名前を変更するには、まずオブジェクトを選択してから、選択ペインでオブジェクト名をダブルクリックすると、新しいオブジェクト名を入力できるようになります。
(この回答は、開発中に意味のある名前を割り当てているだけであることを前提としているため、オブジェクトを参照する他のコードが読みやすくなります)。
以下のコードをサブに配置し、問題のスライドから実行します。各形状が順番に選択されるので、どの形状が参照されているかがわかります。入力ボックスに現在の名前が表示され、新しい名前を入力するよう求められます。長さゼロの入力をキャンセルまたは OK すると、古い名前がそのまま残ります。このコードには名前入力の検証がないため、有効な名前のみを入力してください。一度実行した後、もう一度実行して、最初のラウンドで入力した名前が目的のオブジェクトに適用されていることを確認できます。
ループは現在のスライドのすべてのオブジェクトをカバーするため、複数のスライドを処理する場合は、各スライドで個別に実行する必要があります。タイトル、描画オブジェクト、グループ、埋め込み画像、数式など、スライド上のすべてのオブジェクトが考慮されます。気にしないオブジェクトに新しい名前を入力しないでください。
開発が完了したら、このコードを非表示 (Private Sub) にするか消去して、ユーザーが誤ってオブジェクト名を変更しないようにしてください。
Dim s As Integer, NewName As String
With ActiveWindow.Selection.SlideRange
For s = 1 To .Shapes.Count
.Shapes(s).Select ' So you can see the object in question
NewName = InputBox(.Shapes(s).Name) ' Tell what current name it is and ask for new name
If Len(NewName) > 0 Then .Shapes(s).Name = NewName ' If you typed a new name, apply it
Next s ' 1 To .Shapes.Count
End With ' ActiveWindow.Selection.SlideRange
ご協力ありがとうございますが、実際にはVBAを使用してやっています...
ActiveWindow.Selection.ShapeRange(1).Name = "newname"
乾杯