Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


73629 / 76732 ←次へ | 前へ→

【7577】Re:オートシェイプのテキスト
回答  ichinose  - 03/9/8(月) 21:57 -

引用なし
パスワード
   ▼hide さん:
こんばんは。

>オートシェイプにテキスト追加ってできるじゃないですか?
>このテキスト追加がされているかどうかをマクロで判定できませんか?
>ちなみに、LENGTHを判定するのではなく、オートシェイプのステータスを見たいんです。
>1.テキストボックスはオブジェクト作成時に、自動でテキスト入力可能ですよね。
>2.{}のオートシェイプは当然テキスト追加はできません。また、追加可能なオートシェイプならば、追加されているかどうか。
>1.と2.の判定をしたいんです。
>色々と考えたんですが、行き詰まってしまったので、お知恵を貸してください。
>よろしくお願いします。
アクティブシートのShapeに対して、A列に名前、B列に追加可能か否か、C列に追加内容
を入力する例です。
'=========================================================
Sub MAIN()
Dim shp As Shape
Dim txt
For Each shp In ActiveSheet.Shapes
  Cells(idx + 1, 1).Value = shp.Name
  txt = get_text(shp)
  If VarType(txt) <> vbBoolean Then
   Cells(idx + 1, 2).Value = "追加可能"
   Cells(idx + 1, 3).Value = txt
   End If
  idx = idx + 1
  Next
End Sub
'==========================================
Function get_text(shp As Shape)
  On Error Resume Next
  Set get_object = shp.OLEFormat.Object
  If Err.Number <> 0 Then
    get_text = False
  Else
    get_text = Trim(get_object.Text)
    End If
  On Error GoTo 0
End Function

こんな意味でしょうか?

0 hits

【7545】オートシェイプのテキスト hide 03/9/8(月) 15:10 質問
【7577】Re:オートシェイプのテキスト ichinose 03/9/8(月) 21:57 回答
【7616】Re:オートシェイプのテキスト hide 03/9/10(水) 13:00 お礼

73629 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free