• ベストアンサー

カーソルがあるテキストの名前を取得したい

VB2005で開発を始めたばかりの初心者です。 テキストボックスがいくつか画面上に存在していて、あるボタンをクリックして別のフォームを開き、そこで選択した内容を元のテキストボックスにセットしたいと思っています。 どのテキストボックスでも、この機能をつけたいので、ボタンをクリックする前にカーソルがあったテキストボックスの名前を取得したいのです。その方法をお教え願えないでしょうか?

  • JJ-TO
  • お礼率95% (19/20)

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

  • ベストアンサー
  • KG_
  • ベストアンサー率62% (34/54)
回答No.1

TextBoxをCollectionで管理して、テキストボックスのClickイベントに 自身のKeyをPrivateな変数に格納するようにすれば、あとは別フォームを 閉じたあとに変数に格納しておいたKeyでもとのTextBoxを特定できるよう な気がします。

JJ-TO
質問者

お礼

早々とご返事いただきありがとうございます。 早速やってみます。

関連するQ&A

  • テキストボックスでのカーソルについて

    VB6で作ったフォームでテキストボックスにフォーカスが移ったときに既に入っている文字列の先頭にカーソルがいるのですが、これを文字列をすべて選択した様に(反転表示)にならないか、または文字列の最後尾にカーソルを置けないか、悩んでいます。よろしくお願いいたします。

  • 画面上のカーソルの位置を取得(VB)

    教えて下さい。 開発環境:VB2008 作成した画面上に、Aテキスト、Bテキストという2つのテキスト入力エリアがあり、それぞれ 仕入先コード、品目コードを入力する形となっています。 但し、それぞれのデータ件数が多い事から、ハンド入力が難しく、もう1つ別のフォームを作成し、 別のフォームでテーブルから検索された結果を、そのもとのフォームの入力エリアに返したいと 考えています。 そこで、画面の下部に検索ボタンを設け、Aテキストにカーソルがある状態で検索ボタンを押された 場合は、仕入先マスタ検索のフォーム、Bテキストにカーソルがある状態で検索ボタンが押された場合は、 品目マスタの検索へというように、カーソルの位置で開くフォームを変えたいと考えています。 画面上のどちらのテキストが選択されているか?を取得するような事は可能なのでしょうか? 初歩的な質問で申し訳ありませんが、教えて下さい。

  • VB2008で曜日を取得する方法

    VB2008初心者ですがよろしいでしょうか 曜日の取得方法について教えて下さい ユーザーフォーム上の テキストボックスに、任意の生年月日を 入力し、ボタンをクリックした時に、生年月日 の曜日を取得したいのですが、可能でしょうか WeekdayName関数を使えばできるような感じですが 使い方が分かりません よろしくお願いします 1.テキストボックスに   2009-08-13   と入力しボタンをクリックする 2.メッセージボックスに   曜日を表示する

  • カーソルのあるテキストボックスを特定したい

    開発で使っているツールの事情で一般的に言われる カーソル位置情報がわかる関数が使えません。 現在やろうとしているのは画面にキーボードのような配置でボタンを 作成して画面から入力作業を行ってもらうという事なのですが、 画面にテキストボックスが複数存在する為、ボタン押下時にカーソルが 入っているテキストボックスに入力されるようにしたいのです。 最初に書いたように環境の事情でファンクションが使えないのですが、 どうにかして実現せねばなりません。 もっと良い方法かなにか代替で案はありませんでしょうか。

  • テキストボックスにカーソルを残す方法を教えてください。

    パソコン初心者のため、うまく説明できないかもしれませんが、どなたか教えてください。 yahooやgoogleなどの検索エンジンで検索した後、検索結果のページが表示されたときに、テキストボックスの中に、点滅しているカーソルがある状態にしたいのです。 つまり、続けて検索するときに、マウスを使ってテキストボックスをクリックすることなく、Ctrl+Aなどで選択してすぐ次の検索をしたいのです。 以前はテキストボックスの中にカーソルは残っていたのですが、なぜか今はカーソルが消えてしまって、ついいつものくせでCtrl+Aを押してしまうと、ページ全部が選択されてしまうのです。 うまく説明できなくてすみません・・・。 どなたかご存知でしたら教えてください。 よろしくお願いいたします。

  • テキストボックスに表示された行の番号を取得したい

    VB.NETで簡単なテキストエディタを作っています。 テキストボックスをフォームに張り付けることにより、画面表示及び入力は出来るようになりました。それで、ほかのエディタ(秀丸など)のように、カーソルが、ある行にきたとき、その行番号を画面の下のほうに表示しようと考えています。そのため、まず、カーソルが位置づけられている行の行番号を取得したいのですが、その方法がわかりません。テキストボックスのプロパティ、メソッドを探したのですが、そのようなものは見あたりませんでした。どなたかご存じの方おりましたら、ご教授ください。

  • リストボックスから選択したデーターの一つだけを取得する

    VB5.0を使っています。 WIN2000です。 MDBとVBを使っています。 まず、顧客ID・顧客氏名・電話番号  この3つが1つのデータとして横並びの文字列で、リストボックスに表示されてゆきます。 リストボックスに表示したデータを選択し、その選択したデータの”顧客ID”だけを取り出して同じフォーム内のテキストボックスにいったん出し、そこから別のフォームに飛んでその”顧客ID”を元にデータの詳細を出す、といったものを作っていますが、 今のわたしの書いてるコードだけでは、何番の顧客IDを出しても、 別のフォーム(契約入力)に行くときには同じ1番の人のデータ詳細しか出ません。 「リストボックスから選択したデーターの一つだけを取得する」 には、どのようなコードを書けばいいか、教えていただけないでしょうか・・。 リストボックス(List1)から選択してテキストボックス(Text5)に取得する際にはすでに”顧客ID”だけを取り出したいのです。 今のコードでは、顧客ID・顧客氏名・電話番号 とすべてテキストボックス(Text5)にでてきてしまいます。 Private Sub cmnd2_Click()’選択ボタンclickでリストボックスのデータを取得。 Dim ListIndex As Integer Dim SelectedIndex As Integer Text5.Text = List1.List(List1.ListIndex)'→ここでリストボックスからデータを取得しています。 End Sub

  • TextBoxのhWndプロパティVBAでも使えませんか?

    環境 OS:Win2000ProSP4 Excel2000および2002 Excel2000で、テキストボックスのあるフォームを作成しました。 選択したファイルを読み込んでテキストボックスに表示する機能があり それに加えて、テキストボックス中をマウスでクリックした時、その場 所のカーソルの位置(そこの行数と行内で何カラム目か、の2つ)を取得し て同じフォーム上に表示させる機能をつけました(矢印ボタンでカーソ ルが移動しても、位置情報を更新するようにしています)。ただし、 ネットで調べたカーソル位置取得方法はVBAでなくてVBのものなので、 API(SendMessage)に渡すテキストボックスのhWndプロパティはなく、 困ってしまいました。窮余の一策として、普通のテキストボックスの 代わりに、リッチテキストコントロールを使用して、その中にある hWndプロパティを渡して、上の機能を実現していました。ところが、 Excelを2002にアップグレードしたら、リッチテキストコントロール が使えないことが判明しました(MSのサイトによると、セキュリティの ため、とのこと)。 Excel2002で、2000時代につくったフォームを開くと、リッチテキスト コントロールがすっぽり抜け落ちている状態です。こうなれば、普通の テキストボックスのhWndプロパティをAPIで取得できないか、というこ とを調べているところで困っています。あるいは、2002でも使える同じ ようなコントロールがあれば助かります。 長くなりましたが、ご存知の方、アドバイスをお願いします。

  • access テキストボックスの値取得

    いつもお世話になりますm(_ _)m access VBAをかじり始めた「超・初心者」です(^^;) フォームの画面にテキストボックスを作成し、そこに入力した値を取得したいのですが、どのようにすればよろしいのでしょうか?別に置いたコマンドボタンをクリックすると取得するようにしたいのです。 気軽に、コマンドボタンのイベントプロシージャに、 ----- dim rec as variant rec=textbox1.text   'recは、「テキストボックス1」に入力した値 ----- なんてやってみたんですが、全然ダメで、いろいろ検索してもさっぱり分かりません。 あほくさいほど初歩的な質問で恐縮ですが、なにとぞよろしくお願いいたしますm(_ _)m xp+access2003です。

  • VBからエクセルのテキストボックスの名称を取得したい

    VB6.0 SP5 WIN2000 で開発しています。 エクセルのシートに複数のテキストボックスがあります。 そのテキストボックスの名称や数は解らない前提で そのテキストボックスの名称(”テキスト 1”などの)を すべてVBから取得したいのですが、 解る方がいましたら教えてほしいのですが よろしくお願いします。

専門家に質問してみよう