今テキストボックスからテキストボックスへ
focusを写すのをやっていたのですが、
TEXT1 から TEXT2へ入力した後エンターキーを押したらfocusを写すというのを設定したところ
ちゃんとカーソルは移動するのですが
どうしてもエラー音が出てしまいます。

現在KEYPRESSに
If KeyAscii = 13 Then
Text2.SetFocus
End If
このように書いているのですがなにか間違ってるのでしょうか?
エラー音を出さない方法をどなたかご教授ください

A 回答 (1件)

以前にHk2001さんがサンプルを載せています。



参考URLの#2の発言

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=170905
    • good
    • 0
この回答へのお礼

教えてGOOというのはココのサイトの一部だったんですね。
初めて知りました。
こんどからは見てみることにします。

お礼日時:2001/12/12 02:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qカッコ悪い使い方

カッコ悪い使い方ってあると思います。
モノの使い方、言葉の使い方、ファッション、
店の利用の仕方、あるいは、このサイトやネットの使い方etc
皆さんの考える「この使い方はカッコ悪い」を教えて下さい。

Aベストアンサー

ものの使い方ではないんですが、ひとつ挙げるとすれば、その人が外見的にカッコ良い人でもそうでなくても、いかにもカッコつけた態度をとっている人、つまり自意識過剰が見え見えの人はカッコ悪いと思います。

逆に言えば、自分に自信が持てるってことは、すごく幸せなことかも。
ま、それがその人の性格だったら、どうしようもないですけど・・・(-_-;)

QIf Not c Is Nothing Then ~延々処理が続く~ End If

質問というか相談というか
VBAで下記のようなコードをよく見ますし、私自身もこれで書いてます。

For i= 1 to 10
set c=Range.Find(”いろは")
If Not c Is Nothing Then


処理が続く


End If
Next i

cが見つからなかったら、さっさと次の i に進む場合の処理です。Ifの字下げがず~~っと延々続き、最後のNext iの直前でEnd If です。
・Exit For はあるのに 途中Next iは出来ない
・Goto 使って書くと「スパゲティプログラムだ」とか言われる
正直言って、上記コードとGotoスパゲティで可読性に差異があるとは思えません。何でもかんでもGotoはダメていう風潮がおかしいように思えます。

みなさんどうやって書いてますか?

Aベストアンサー

こんにちは。

>Goto 使って書くと「スパゲティプログラムだ」とか言われる
どっちかというと、今は、ネットの中で、某VBA系の専門掲示板で、他人のコードを罵る時に使う用語ですね。Goto を使ったから、スパゲティーと短絡して使うのに、その言った本人は、エラー処理ひとつ施していない隙だらけのコードだということが多いのです。「スパゲティプログラム」は、◯◯の一つ覚えの用語だと思います。

>For i= 1 to 10
>set c=Range.Find(”いろは")
>If Not c Is Nothing Then

>~
>処理が続く
>~
>
>End If
>Next i

これって、よく見るとおっしゃっていますが、ひとつ例外に、いわゆる「ブルートフォースアタック(総当り制)」のコードがありますね。それは、Goto 以外に抜け出せる方法がありませんね。「深いネストはするな」という禁を犯しているのだから、Goto 以前のものがあります。(何に使うかはご存知だと思いますし、それをとやかく言う人はいないでしょう。)

これを書き換え、再帰を使うと良いとか言う人もいるのでしょうけれども、そういうのは、知識だけで実際にやったことがない人の話だと思います。「スパゲティ」とか知らない人に、比べさせれば、再帰などを使った方法は、遅くてダメ出しされるのは目に見えています。特殊な例ですが。

ご質問で、実際の私は、内容にもよりますが、
Private flg As Boolean

Sub Main()
On Error Goto ErrHandler
For i= 1 to 10
 Call subRutine(findTxt)
 If flg Then Exit For
Next i
Exit Sub

ErrHandler:
処理
End Sub
'ここの中身はテンプレート化してあります。
Private Sub subRutine(ByVal findTxt) または、Public
'処理
End Sub

としているはずで、モジュールレベルの変数を、flg とし、サブルーチンの中に置いて、目的がかなったら、Flgは、Trueになって、ループから抜け出すようにします。

サブルーチン側では、End ステートメントを使用することさえもあります。(テンプレート化しているのは、Findメソッド、RegExpの正規表現、Sortメソッド、Dictionary とSortLists などがあります。[MZ-Tools 3.0]を使用)

GOTO は、構造化プログラムが登場した時に、排除するように言われてきたものです。古い時代の人は、GOTOに逃げたくなるのを抑えるために、「GOTO」を使うなって、肝に命じてきたのです。しかし、結局、Goto は、なくならなかったのは、一つには、ErrHandlerを使った、エラートラップのせいもあります。だから、Goto を書かないでErr.Raise (513~)で飛ばす方法がありますが、あまり使う人はいません。

ところで、
「スパゲティプログラム」という話に振られると、私は自信がありません。
読みやすさ(可読性)の対極になるものでしょうけれども、誰に対して言っているものか、ということです。私の大事にしている本の中に、アスキーの『QuickBASICプログラミング道場』(1991年)という本があります。

---引用
・本道場で推奨するプログラミングスタイル (p25~)

1.変数・定数・プロシージャーの命名法 (変数の型のサフィックスは使うな)
2.インデントを付けるべし
3.メインプロシージャは短くすべし
4.プロシージャは短くすべし
5.長いブロックはプロシージャーにすべし
6.汎用性のあるプロシージャーを作るべし
7.定数は活用すべし
8.GOTOは乱用(濫用)すべからず。●
 従来のBASICを使ってきた人の中には、GOTO文を多用する人がいるようだ。GOTO文はそのときは便利なように思うが、あとになってリストを眺めてみると、どこに飛んでいるか分からなくなることが多い。……わけがわからない最低の"スパゲティプログラム"になってしまう。
 【例】GOTO文をDOループに置き換える
----引用終わり

現代でも通用するというよりも、その言葉が生まれた時代背景がありますから、必ずしも、GOTOが問題だということではなさそうです。Goto を使わないということにこだわると、逆に墓穴を掘ることになります。

それと、DO ループにするというのは、DO ~ LOOPの間に緊張感(?)は生まれるけれども、無限ループを生み出しやすくなるのです。その頃はそれで良かったかもしれませんが、もうESCでは止まりません。今は必ずしも認められるものではありません。

それと、記録マクロを、そのままVBAプロシージャーに用いるのは、絶対にダメなのですよね。本当のスパゲティプログラムになってしまいます。ベタ書きになってしまうからで、一度、そういうコードを直してくれと言われましたが、怒りを抑えて、丁重にお断りました。

こんにちは。

>Goto 使って書くと「スパゲティプログラムだ」とか言われる
どっちかというと、今は、ネットの中で、某VBA系の専門掲示板で、他人のコードを罵る時に使う用語ですね。Goto を使ったから、スパゲティーと短絡して使うのに、その言った本人は、エラー処理ひとつ施していない隙だらけのコードだということが多いのです。「スパゲティプログラム」は、◯◯の一つ覚えの用語だと思います。

>For i= 1 to 10
>set c=Range.Find(”いろは")
>If Not c Is Nothing Then

>~
>処理が続く
>~
>
>End If
>Next...続きを読む

Qラブホテルで、本来以外の使い方をした経験、ありますか?

本来の使い方は、皆さん知っていますね?
そうではなくて、本来以外の使い方です。
テレビで「ラブホ女子会」が流行っている話をしていましたが、例えばそういうこととか、単に寝るために泊まったとか、出張で使ったとか、カラオケとか、昼寝とか・・・とにかく、本来の使い方ではない使い方です。
もちろんその後も、本来の使い方はしないでチェックアウトしたという前提です。

ラブホテルによっては、そういう使い方を認めないところもあるようですが、本来以外の使い方をした経験はありますか?

Aベストアンサー

お盆に家族旅行に行ったとき高速で30Km渋滞と表示されていたので、雄琴温泉に仕方なく宿泊しようとした。何処も満室で仕方なくラブホに家族で宿泊した。
回転するベッドや明るさの調整できる風呂があり、子供が大はしゃぎで遊んでいた。
妻とこんな使い方もあるなーと話をした。家族全員だと雄琴なら6,7万円必要なところ8000円ですみ
朝食もディナーのような肉料理だった。フロントの人は、普通はこんな使い方しないけど、いい勉強になった
こんな使い方も考えてみたいと言っていた。

Q条件付きコンパイル: #IF 1 Then と #IF 0 Then

条件付コンパイルで、
『#If 1 Then』と『#If 0 Then』の条件の違いを教えてください。


『#If ○○○=1 Then』などの場合はわかるのですが、
単に『#If 1 Then』の場合は何をもって真となるのでしょうか?

よろしくお願いいたします。

Aベストアンサー

条件式は、強制的に「True」又は「False」に解釈されます。

で、「数値」を「True」又は「False」に解釈する場合、
「0」は「False」、「0以外」は「True」になります。
(http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/vsfctcbool.asp)

つまり、
『#If 1 Then』は、「必ずTrue」=常に有効
『#If 0 Then』は、「必ずFalse」=常に無効
に成ります。

Qこのお箸の使い方ってOKなんですか?はたして疑問

たまに目にする箸の使い方。
フォークとナイフのように右と左に1本づつ持って
何かを切る、という箸の使い方って正しいんでしょうか。
私個人的にはそういう使い方を目にすると
嫌悪感を覚えるのですが。以前テレビを見ていたとき
君島十和子さんが堂々とそういう使い方をするのを
見て驚きました。ネットで調べたけれど、この使い方に
ついては見つけることができませんでした。
どなたか教えてください。

Aベストアンサー

調べてきました。
「ちぎり箸」というそうで、間違った使い方のひとつとのことです。

参考URL:http://www.table-manners.org/dainty_kaiseki/chopsticks/

Qテキストボックスのエンターキー無効

VB6.0について質問いたします。
テキストボックスの入力の際に改行を強制的にできないように制御したいのですが次のプログラムでは上手くいきませんでした。

Private Sub Text_KeyDown(KeyCode As Integer, Shift As Integer)
If vbcode = vbKeyReturn Then
Exit Sub
End If
End Sub

エンターキーを押したとき何も実行しないようにするにはどうしたらいいですか?
テキストボックスはスクロールバーを設置してMultiLine プロパティをtrueに設定しています。

Aベストアンサー

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = vbKeyReturn Then
KeyAscii = 0
End If

End Sub

にすれば良いのでは。
ヘルプにはKeyAscii に0を設定することでキー操作が取り消されるとなってます。

Q日本語 「よう」の使い方

「よう」の使い方で同じ使い方のものを選ぶ問題の中で、
 1. 彼の家は大きくて、お城のようです。と
 2. 彼は日本人のように上手に話せます。が、同じ「よう」の使い方になっていました。1.は名詞+のようだ。 2.は名詞+のように+名詞or形容詞の使い方だと私は思うのですが......。1.と2.が同じ使い方になるのはどうしてなのでしょうか........?教えてください。

Aベストアンサー

コメントにお答えします。

まず、最初のご質問文の中にある誤りを指摘していませんでしたが、
 2.は名詞+のように+名詞or形容詞
は誤りで、
 2.は名詞+のように+動詞or形容詞or形容動詞
とすべきです。


では、本題。

>>>1.と2.の「よう」の意味は同じ、使い方は同じではないということですか??????。

問題は、解答者に対してこの2つの比較を求めています。
1「~のようです」(「ようです」の終止形)
2「~のように」(「ようだ」の連用形)

あなたの考え方は、
 1.は名詞+の+「ようだ/ようです(=終止形)」。
 2.は名詞+の+「ように(=連用形)」+動詞or形容詞or形容動詞
となっているから、使い方は異なるのではないか、ということですよね。

しかし、
国語(日本語)の問題で「同じ使い方のものを選べ」という問題がある場合、
単に活用形が異なるだけの言葉同士を「使い方が違う言葉」として扱うことは、通常ありません。


「お城のようだ/ように/ようです」「日本人のようだ/ように/ようです」は、
A + の + ようだ/ようです = 「Aのようだ/です」
の形です。
つまり、「形として、使い方が同じ」です。

そして、どちらも
・「Aではないけれども、Aに似ている」
・「Aではないけれども、Aの感じがする」
という意味になります。
つまり、「意味として、使い方が同じ」です。

ですから、1と2は、「形としても、意味としても、使い方は同じ」ということになります。


では!

コメントにお答えします。

まず、最初のご質問文の中にある誤りを指摘していませんでしたが、
 2.は名詞+のように+名詞or形容詞
は誤りで、
 2.は名詞+のように+動詞or形容詞or形容動詞
とすべきです。


では、本題。

>>>1.と2.の「よう」の意味は同じ、使い方は同じではないということですか??????。

問題は、解答者に対してこの2つの比較を求めています。
1「~のようです」(「ようです」の終止形)
2「~のように」(「ようだ」の連用形)

あなたの考え方は、
 1....続きを読む

Qリッチテキストボックスとテキストボックスの違い

VB6のリッチテキストボックスとテキストボックス
の違いは何なんでしょうか?

Aベストアンサー

RichTextだと扱えるファイルサイズが大きくなり
プロパティの指定が可能になります。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsrichtextboxclasstopic.asp

Qタイガーバームの使い方

おみやげでタイガーバームを頂きました。使い方を教えて下さい。
基本的な使い方から意外な使い方まで、何でもお願いします。

Aベストアンサー

「何にでも効く」というふれ込みの万能?軟膏ですね。(笑)香港やシンガポールにはこれで大金持ちになった方が作った「タイガーバームガーデン」なるものがありました。
基本的には筋肉痛や肩こりなどに効くとされていますが、匂いがものすごいため、人前に出るときにはどうかと思います。
使用法は、少量をとり、肌に良くすりこみます。さらにマッサージをするすと、有効成分が浸透しやすく、いっそう効果的だそうです。
でも、けして切り傷や生傷には使用しないで下さい。 また体の粘膜部分など敏感なところへの使用もだめですよ。

QVB.NETのテキストボックスで、カーソル位置に文字を入れたいのですが、どうすればいいのでしょうか

VB.NET作っています。
System.Web.UIWebControls.TextBoxで、
ボタンを押すとテキストボックスのカーソル位置に文字列を入れたいのですが、どうやってやればいいのでしょうか?
おしえてくださいーー

Aベストアンサー

> ユーザのブラウザで動作しなければ、できないのおでしょうか。Javaスクリプトは使ったことがなく厳しいです

こればっかりはねぇ。
1. ボタンを押す。
2. テキストボックスに文字を挿入する。
3. テキストボックスに文字が挿入された結果をユーザーが目にする。

ASP.NET ですので、この流れの間に無理矢理サーバへの通信を入れることはできます。ASP.NET で言うところの「ポストバック」ってやつですね。
にしても、サーバ側で「テキストボックス上のカーソルの位置」を何らかの形で取得しなくてはいけません。

サーバ側ではテキストボックスの値は取得できますが、テキストボックスからカーソルの位置を取得することはできませんので「別の何か」に格納されている値として取得するしかありません。
では、「別の何か」にカーソルの位置を仕込んでおくのは誰がやらなきゃならないかというと、ユーザー側(ブラウザ上)で動作する Java Script ということになります。
テキストボックス上でマウスのボタンが押し上げられた時や、キーボードのキーが押し上げられた時に、ブラウザ上の別の隠しコントロールにカーソルの位置を数値で仕込むなどの動作が必要です。

先のサンプルのソースコードをよく見ると、テキストボックスの onmouseup や onkeyup イベントで pos() という Java Script の関数を呼び出しています。
ここでやっていることは n という変数に「テキストボックスに入っている文字列の右端から何文字目にカーソルがあるか」を格納しています。
これを利用し、n という変数ではなくて、非表示テキストボックスなどにでもカーソルの位置を仕込んでおけば、ボタンを押してポストバックが起こった時にサーバ側で「カーソルの位置」を非表示テキストボックスの値で取得することができます。

> ユーザのブラウザで動作しなければ、できないのおでしょうか。Javaスクリプトは使ったことがなく厳しいです

こればっかりはねぇ。
1. ボタンを押す。
2. テキストボックスに文字を挿入する。
3. テキストボックスに文字が挿入された結果をユーザーが目にする。

ASP.NET ですので、この流れの間に無理矢理サーバへの通信を入れることはできます。ASP.NET で言うところの「ポストバック」ってやつですね。
にしても、サーバ側で「テキストボックス上のカーソルの位置」を何らかの形で取得しなくてはいけ...続きを読む


人気Q&Aランキング

おすすめ情報