• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA/シェープの文字列を取得)

エクセルVBA/シェープの文字列を取得

このQ&Aのポイント
  • エクセルVBAを使用して、シェープに書かれた文字列を取得する方法について教えてください。
  • エクセル2010のBOOK内に配置されたボタンやチェックボックス、ラベルやテキストボックスなどのシェープの中に記載された文字列を一覧にまとめたいです。
  • 提供されたVBAコードにおいて、sp.Captionやsp.Shapes.Range.Character.Textを使用してシェープに書かれた文字列を取得しようとしましたが、エラーが発生しました。どのようにすれば取得できるでしょうか?

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.1

http://blog.ch3cooh.jp/entry/20081124/1244599969 こちらが参考になりませんでしょうか。

emaxemax
質問者

お礼

ありがとうございます。 .TextFrame.Characters.Textとするのですね。 TextFrameが存在しないShapeもあるのでエラー回避をいれて以下でうまくいきました。 Sub obj_Check() Dim st Dim sp Dim i As Long For Each st In Sheets For Each sp In st.Shapes i = i + 1 With Sheets("Sheet3") .Cells(i, "A").Value = sp.Name On Error Resume Next .Cells(i, "B").Value = sp.TextFrame.Characters.Text On Error GoTo 0 .Cells(i, "C").Value = st.Name End With Next sp Next st MsgBox i & "個のChec終了" End Sub

関連するQ&A

専門家に質問してみよう