私の検索結果のいずれもこれに関する情報を公開していないので、他の人に役立つことを期待してこれを投稿しています。埋め込まれたフォーム形状をコピーして、同じシートに貼り付けます手順を構築しながら、Excelで図形の作成名が解放されない
私はこれに走った、そして
これは十分に簡単であるべきこれらの形状のいずれかを参照して容易になるリネームスキームを実行しますしかし、私は断続的な問題に遭遇していました。最終的に私は、Excelが作成時にその図形の元の名前を "記憶"しているように見えて、図形が削除されたときにのみそれを解放して使用中のものとしてフラグを立てています。したがって、シェイプの名前を変更しても元の名前に戻すことはできません。たとえば、「ボタン1」の名前を「Btn1」に変更した場合は、「ボタン1」に戻すことはできません。興味深いことに、図形を "Button 1"または "Btn1"という名前で参照できるようになりました。
「ボタン1」が作成名であると仮定すると、s.Nameは「ボタン1」に戻るように見えますが、「Btn1」になります。
Sub RenameShape()
Dim s As Shape
Dim nm As String
Set s = ActiveSheet.Shapes("Button 1")
nm = s.Name
s.Name = "Btn1"
s.Name = nm
End Sub
私は以来、シェイプの「内部」と「外部」の名前について話リンクのカップルに遭遇してきた - 私は、「内部」の名前は、Excelは忘れないだろうアクセスできない1であると仮定しています「外部」の名前は通常見られる公開された名前です。
私はこのことについてより多くの洞察を得ることができる人から聞くことに興味があります。
[Shapeの内部名を取得する方法](http://stackoverflow.com/a/3746558/4717755)は、この状況についていくつかの洞察を得ていると思います。 – PeterT
これは興味深い記事です。私は、内部の名前が何であるかを知っていなければ、それを得る方法がないという結論に導きます。 – DaveU