
VBでオートコンプリートみたいな機能を作ることは可能でしょうか?
(例)
URLを入力するテキストボックス欄がある。
http://www.a と入力するとリスト画面が表示され
あらかじめ登録しておいたaに関連するアドレスが自動的に
表示される
http://www.ab とすると上記と同様にabから始る
アドレスがリストボックスから自動的に表示される
No.3
- 回答日時:
難しいより、面倒ですね。
(1)プログラムの中の配列やデータベースで候補文字列を持っておく。文字列順にソートしておけば、2分法などが使えますので、比較回数は少なく出来ます。
最悪(容易)では、総なめ(全件比較)が必要です。
1文字入力毎に毎回データベースの検索は、レスポンスタイムの点で大丈夫かテストし判断する。
(2)新しく文字列が加わると、配列やデータベースに加えておく。
(3)比較のキッカケは、テキストボックスのTextが
変るごとに捉えられる、Changeイベントなどを使う。
(4)比較は入力文字列の長さに合わせて、表の方の文字列のLeft(関数)で一部を取り、入力文字列と比較する。
複数見つかる時の処理がややこしくなる。
(5)見つかれば、表の方の文字列で置換え、先頭から
の文字列部分をSelstart、Sellengthなどで、色を変えておく。
http://www.bcap.co.jp/hanafusa/VBHLP/ibe_Cursors …
No.2
- 回答日時:
リスト画面とは該当データが複数ある場合にリストを表示するということで
いいのでしょうか?
テキストボックスに使用するならChangeイベントで
文字が入力されるたびにリストと比較して・・・、という形はどうですか?
InStr関数などで文字列が含まれているか判断するなんて方法はどうでしょうか。
あまりスマートな方法とはいえないかもしれませんが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
エクセル 数値データを桁をそ...
-
同一セル内に関数と文字列を同...
-
VBAでの Replace関数で、ワイル...
-
VBの「As String * 128」とは?
-
エクセルマクロで複数ある特定...
-
エクセルで文字列の最大値を抽...
-
VBA2005 16進を2桁で表示したい。
-
LEFT関数で文字数を指定しない...
-
VBで簡易シーザー暗号の作成...
-
Msgboxの×が押されたとき
-
【COBOL】文字列から数値項目に...
-
エクセルで文字列をtxtファイル...
-
VBscriptからバッチに変数を渡...
-
VBA テキストボックスの計算
-
アクセスで特定の数字以外(複...
-
Excelで指数表現しないようにす...
-
Cシェルでの文字列大小比較
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
文字列からタブコードを取り除...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
-
Excelで3E8を3.00E+8にしない方...
-
Left関数とRight関数を合わせた...
-
アクセスで特定の数字以外(複...
-
Msgboxの×が押されたとき
-
MS SQLServer のSQLで文字列の...
-
Excelで指数表現しないようにす...
-
ORCLEでの小数の表示方法の変更...
-
【Excel VBA】複数ある特定の文...
-
エクセル 数値データを桁をそ...
-
SQL の Update文(?) と ...
-
VBの「As String * 128」とは?
-
aaa.bbb.ccc という、「ドット...
-
同一セル内に関数と文字列を同...
おすすめ情報