Excel VBA質問箱 IV

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

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


20879 / 76732 ←次へ | 前へ→

【61261】Re:VBAでVBSのMSGBOX表示みたいな
発言  n  - 09/4/20(月) 18:42 -

引用なし
パスワード
   ぁあ、すみません。
普通のオートシェイプのテキストボックスです。
古い書き方で混乱させてしまいました。すみません。

Sub test()
  Dim s As Shape
  Dim t As TextBox

  Set s = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 20, 30, 40)
  s.TextFrame.Characters.Text = "a" & vbLf & "b" & vbLf & "c"
  Set t = ActiveSheet.TextBoxes.Add(100, 20, 30, 40)
  t.Text = "a" & vbLf & "b" & vbLf & "c"
  Set s = Nothing
  Set t = Nothing
End Sub

DrawingObjects や TextBoxes , Pictures...などは[隠しオブジェクト]で、
バージョン95以前との互換性を保持するために残っているそうです。
Excel2000までのヘルプファイル VBAXL9.CHM には[隠しオブジェクト]についての記述がありますが、
2002以降の VBAXL10.CHM には記述がないようです。

たまに便利な時があるので私は好きで結構使ってしまってます。

例えば TextBoxes 一括削除の場合
ActiveSheet.TextBoxes.Delete
これはTextBoxがなくてもエラーにはなりません。
また、TextBoxの検索などで、HitしたTextBoxに画面遷移したい時など
ActiveSheet.Shapes(1).Select
では選択されるだけで画面遷移しませんが、
ActiveSheet.TextBoxes(1).Select

ActiveSheet.Shapes(1).DrawingObject.Select
などは画面遷移を伴います。
Shapeオブジェクトを扱う時、色々と振る舞いが違う場合があるので、
知っておくとコーディングの幅が広がるかもしれません。

0 hits

【61222】VBAでVBSのMSGBOX表示みたいな ON 09/4/16(木) 18:43 質問
【61223】Re:VBAでVBSのMSGBOX表示みたいな n 09/4/16(木) 20:05 発言
【61224】Re:VBAでVBSのMSGBOX表示みたいな ON 09/4/17(金) 11:01 お礼
【61233】Re:VBAでVBSのMSGBOX表示みたいな neptune 09/4/17(金) 23:08 発言
【61234】Re:VBAでVBSのMSGBOX表示みたいな Abyss 09/4/18(土) 1:14 発言
【61235】Re:VBAでVBSのMSGBOX表示みたいな n 09/4/18(土) 2:32 発言
【61260】Re:VBAでVBSのMSGBOX表示みたいな ON 09/4/20(月) 17:33 質問
【61261】Re:VBAでVBSのMSGBOX表示みたいな n 09/4/20(月) 18:42 発言
【61262】Re:VBAでVBSのMSGBOX表示みたいな ON 09/4/20(月) 19:03 発言

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