
No.1ベストアンサー
- 回答日時:
フォームにコマンドボタン(Command1)を配置し、そのボタンを押したら、"C:\My Documents\book1.xls"の"Sheet1"にあるShapesオブジェクトのNameをすべて返すコードの例を考えてみました。
なお、この例ではコントロールツールボックスのテキストボックスの名前も図形描画のテキストボックスの名前も返してきます。
確認しましたが、図形描画のテキストボックス名はデフォルトの場合、シート上の名前ボックスでの表示が"テキスト 1"などとなっていても、返ってくる値が"Text Box 1"となりました。
コントロールツールボックスのテキストボックスは"TextBox1"と返してきます。
名前を指定するとその名前で返ってきますので、名前付けに定義を設けるか、デフォルトの場合はスペースの位置などで判別可能と思われますがいかがでしょう。
Option Explicit
Dim wkbObj As WorkBook
Private Sub Form_Load()
Set wkbObj = GetObject _
("C:\My Documents\book1.xls")
End Sub
Private Sub Command1_Click()
Dim myShape As Excel.Shape
With wkbObj.Sheets(1)
For Each myShape In .Shapes
MsgBox myShape.Name
Next
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set wkbObj = Nothing
End Sub
なお、参照設定で、Microsoft Excel X Object Library への参照を設定する必要があります。Xの所にはバージョンの数値が入ります。
VB6.0 Excel2000 Win2000 にて動作確認
動作しました。助かりました。
いろいろ調べてはいたのですが、なかなか必要とする情報が
なくて半分あきらめて別の方法を考えようかと思っていた所でした。
名称さえ取得できればあとはOKです。
図形描画などの判断はTTakさんの「名前付けに定義を・・・」を参考にさせていただきます。
いや~本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Visual Basic(VBA) Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。 3 2023/03/19 18:31
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Visual Basic(VBA) ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:16
- IT・エンジニアリング ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:17
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- Access(アクセス) アクセス IDが空白の時、メッセージボックスがでるようにするには 1 2022/08/04 11:06
- Visual Basic(VBA) ExcelVBAでユーザーフォームでテキストボックスなどからセルに連続して入力するコーディングの際の 2 2022/06/29 22:51
- PDF PDFのテキストを追加機能 1 2022/06/18 12:45
- 工学 非対称三相交流について 2 2022/07/06 00:36
このQ&Aを見た人はこんなQ&Aも見ています
-
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
テキストボックスの番号の取得
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
VBAでテキストボックス内の編集をする方法
Visual Basic(VBA)
-
5
【エクセル】複数のTextBoxに共通するChangeイベントを簡潔に書きたい
Excel(エクセル)
-
6
全てのテキストボックスをセルに出力
Visual Basic(VBA)
-
7
フォーム上の現在アクティブなコントロールの取得
Access(アクセス)
-
8
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
9
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
10
アクセスのフォームでテキストボックスを順番に選択
Access(アクセス)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
コントロールの存在確認
Visual Basic(VBA)
-
13
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
14
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
15
access テキストボックスの値取得
Access(アクセス)
-
16
エクセルVBAで一つ上の階層を指定して保存したい
Excel(エクセル)
-
17
エクセルテキストボックスの文字列をセルに引っ張ってくるやり方
Visual Basic(VBA)
-
18
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
19
Excelで、図形内の文字をセルに抽出したいです
Excel(エクセル)
-
20
2画面表示でのVBAのボタン押下後のform表示の位置
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridViewで行の展開みたい...
-
Wordテキストコントロールが未...
-
テキストボックス(VBA)でEnter...
-
C# TEXTが空白であるLABELは何...
-
エクセル VBA ユーザーフォーム...
-
ユーザーフォームに日付を表示...
-
ListViewでのリスト表示(初歩...
-
カスタムコントロールInputMan...
-
リストコントロールのデータの...
-
エクセル入力規制リスト行数
-
checkbox付きListViewで デフ...
-
ADOのCursorLocationプロパティ
-
Enabled=Falseのテキストボック...
-
ListViewで1つを選択して詳細...
-
VB6でPNGファイルを扱うには?
-
デザインモードを解除すると消...
-
TreeViewでToolTipTextを表示し...
-
VBで、tableの列を動的に増やす...
-
VC++でエクセルのような表
-
VBのデータグリッドが表示され...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
Wordテキストコントロールが未...
-
エクセルの画像にツールチップ...
-
ユーザーフォームに日付を表示...
-
C# TEXTが空白であるLABELは何...
-
エクセル入力規制リスト行数
-
MSFlexGrid
-
コンボボックスの高さを変更し...
-
ACCESS2010 ActiveXコントロー...
-
Enabled=Falseのテキストボック...
-
VB6でLabelの最前面にText Box...
-
ADOのCursorLocationプロパティ
-
DataGridViewで行の展開みたい...
-
checkbox付きListViewで デフ...
-
VB2005 コードでのコントロー...
-
チェックボックスの文字色の変え方
-
VB6でPNGファイルを扱うには?
-
PictureBoxの背景色変更(VB.NET)
-
VB.NETで縦書表示をしたいので...
-
MFCでbitmapを背景にしてstatic...
おすすめ情報