フォーム上にテキストボックスを配置して実行すると
カーソル(入力するための)がきて点滅してしまいます。

そうしなくていい方法はあるのでしょうか?

A 回答 (11件中1~10件)

>その時にひとつも選択されていなくて コマンドボタンを押すとエラーメッセージボックス



ロード時にコマンドボタンのEnable=Flaseにしておいて、オプションボタンのクリックイベントが発生したら、コマンドボタンのEnable=Trueにした方が単純だと思いますが・・・・

言われた通りの仕様であるならば・・・
オプションボタンはコントロール配列ですか?
もし違うなら、オプションボタンをコントロール配列にしておくと便利です。。。
オプションボタンの名前を全て同じにしておいてIndexに違う番号を割り当てると、コントロール配列が作成されます。

オプションボタン名=Option1

Private Sub Command1_Click()
  Dim opBtn    As OptionButton
  Dim blnWork   As Boolean
  Dim getIndex  As Integer
  
  '各オプションボタンが選択されたかをチェック
  For Each opBtn In Option1
    If opBtn Then
      blnWork = True
      getIndex = opBtn.Index
      Exit For
    End If
  Next opBtn
  
  If blnWork Then
    MsgBox "[" & Option1(getIndex).Caption & "] が選択されました"
  Else
    MsgBox "だめー"
  End If
End Sub
    • good
    • 0

またまた追記です。

(最近書き忘れが多い・・・)

親になるピクチャボックスのプロパティを
With .Picture1
  .Appearance = 0 '平面
  .BorderStyle = 0 'なし
  .BackColor = &H8000000F 'ここはフォームのバックカラー
  .AutoRedraw = True
End With
とすると、ピクチャボックスがフォームと同化します。
    • good
    • 0
この回答へのお礼

いろいろと丁寧にありがとうございました。
初めて知ったこといろいろありましたが
とりあえず、みなさんがアドバイスしてくださったことを
いろいろと試してみたいと思います。

お礼日時:2001/11/15 11:35

訂正です。



「yanmaa」さんの発言
>さらにTAGOSAKU7さん
>~~~~~~
>注意して下さい。

確かにそうですね。。。
Me.Enableの操作は危険でしたね。。。
m(__)m

#7なら大丈夫ですよね?
    • good
    • 0

テキストボックスのプロパティ「Locked」を「True」にするとユーザはキー入力が不可能になります。

但し、マウスカーソルの表示はされます。
あとは「KeyPress」のイベントで「KeyAscii」の値を「0」にするとキー入力をキャンセルできます。

なお値を出すだけならばラベルを使う方が良いでしょう。

さらにTAGOSAKU7さんの「Me.Enabled=False」はフォームに対してすると全てのイベントが取れなくなってしまうので、通常あるイベント中に他のイベントを発生させない為に使うのが本来の使い方ですので
Sub 関数orイベント
Me.Enabled=False
処理
Me.Enabled=True
End Sub
と使うのが一般的
そうしないと「閉じる」ボタンすら聞かなくなって停止できないので注意して下さい。

さらに補足
各オブジェクトの「TabIndex」のプロパティ値を変えるとタブキーを押した時のオブジェクトをフォーカス順序を変えれます。0~順に制御(空き番はOK)これが初期のフォーカスにもなりますが、通常SetFocusメソッドを使ってフォーカスを設定します。

但し、SetFocusはEnabled=Trueの時だけ有効です。

がんばってください。
    • good
    • 0
この回答へのお礼

丁寧にありがとうございました。
初めて知ったこといろいろありましたが
とりあえず、みなさんがアドバイスしてくださったことを
いろいろと試してみたいと思います。

がんばります!!

お礼日時:2001/11/15 11:37

もっと簡単な方法がありました。



以下の手順でフォームのデザイン変更を行うと、各コントロールは使用不可になります。

1.フォームにピクチャボックス(Picture1)を作成


2.フォーカスを当てたくない各コントロールをピクチャボックスに貼り付ける
(既存のフォームに存在する各コントロールを、SHIFTキーを押しながら選択して切り取りを実行、Picture1をクリックして貼り付け)
この時フォーム内に閉じるコマンドボタンがある時は、それはPicture1に貼り付けないでください。

3.Picture1.Enabled = False
とするのです。

4.各コマンドボタンを右クリックで最前面へ移動を選択

5.Picture1のサイズをフォームのサイズにあわせる


以上の手順です。
この方法は、書くコントロールの親をフォームからピクチャボックスに変更し、その親を使用不可にする事により、コントロールの無効を制御できます。
    • good
    • 0

配置した順番については、プロパティのTabIndexの番号順にフォーカスが移動しますので、それに注意すればいいと思います。


オプションボタンのフォーカスの未指定については、
option.value = false を指定します。
初期画面の場合は、Private Sub Form_Activate()
内で指定すればいいです。
サンプルの画面でいろいろ試してみたりしてがんばってください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
いろいろと試してみたいと思います。

お礼日時:2001/11/15 11:38

>どのオプションボタンにもカーソルを選択させたくない場合は どのように設定すればよいですか??



方法は二つあります。
1.フォームの使用不可
Me.Enabled=False

2.フォームの内容をピクチャボックスに貼り付け、ピクチャボックスをフォームの中に最前面にする。ユーザー側には全てのコントロールが見えるけど、実際には各コントロールの描かれたピクチャボックスが表示されているわけです。

この回答への補足

オプションボタンは3つあって
どれかひとつを選んで次のフォームにいきたいんです。

最初そのオプションボタンがあるフォームがLoadされ
どれも選択されていなくて、ひとつを選択し
コマンドボタンで次のフォームに移りたいんです。

その時にひとつも選択されていなくて
コマンドボタンを押すとエラーメッセージボックス
を出すようにしたんです・・・。

補足日時:2001/11/14 12:33
    • good
    • 0

追記です


BorderStyle=1(実線)にすると、なおごまかせます。。。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そういう使い方もあったんですねぇ。

お礼日時:2001/11/14 11:54

それなら、テキストボックスではなく、ラベルを使用してみては?


BackColorを白にするだけで、テキストみたいに見えますよ。
    • good
    • 0

カーソルを非表示にする方法なら知ってるのですが・・・


カーソルは表示してあって、点滅させないって事ですよね?

この回答への補足

すみません、説明不足でした・・・。

え~っとカーソル非表示ではなく
そこにイベントというか何と言うか・・・

そのテキストボックスにはとある処理をして値だけを表示したいので、
実行する側としては絶対に触らせたくないです。

これでわかりますか??

補足日時:2001/11/14 11:18
    • good
    • 0

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

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

Qリップルについて

リップルとは交流から直流に変換する際、直流に残る交流成分のことを言うと思うのですが、これは主にどのような装置や状況でで起こりうるのでしょうか?

 今学校で実験をやっているののですが、安定化電源、あとアンプの電源をコンセントにつないで実験してます。安定化電源のリップルはよく話を聞くのですが、この場合、アンプの電源からのリップルもノイズとしてのってくるのでしょうか?

 またアンプの電源や安定化電源の近くに、出力線があったら、電磁波としてのノイズが出力に載るという話を聞いたのですが、これもリップルというのでしょうか?

Aベストアンサー

#1です

>電源などで1次側の交流成分が2次側に伝達する場合に起きると思われます。
>1次側と2次側の意味がいまいち分からないのですが。すみません。
電源は、大別すると、リニア電源とスイッチング電源に別れます。おおまかに、
リニア電源の場合は、AC100⇒トランス(変圧)⇒整流⇒DC出力。
スイッチングの場合は、AC100⇒整流⇒スイッチング⇒トランス⇒整流⇒DC出力。
のような構成になります。
で、上記のトランスを境に左側が1次側、右側が2次側です。

>あとコンデンサーを入れると、何故リップルが減少するのでしょうか?
>コンデンサーの性質=交流成分しか通さない と話が繋がらないのですが。
繋がりますよ。w
整流後の直流電源ラインとGND間に入れたコンデンサは、交流を通すわけですか
ら、ノイズのような交流成分は、GND側に流れやすくなってノイズやリップルを
軽減してくれます。
逆に直流成分はコンデンサを通過できないので、理想的には直流成分だけを残し
て、余分なノイズやリップルはGNDに逃がすようなイメージです。

#1です

>電源などで1次側の交流成分が2次側に伝達する場合に起きると思われます。
>1次側と2次側の意味がいまいち分からないのですが。すみません。
電源は、大別すると、リニア電源とスイッチング電源に別れます。おおまかに、
リニア電源の場合は、AC100⇒トランス(変圧)⇒整流⇒DC出力。
スイッチングの場合は、AC100⇒整流⇒スイッチング⇒トランス⇒整流⇒DC出力。
のような構成になります。
で、上記のトランスを境に左側が1次側、右側が2次側です。

>あとコンデンサーを入れると、何故リップル...続きを読む

Q実行中のログをフォームのテキストボックスに表示したい

excel2000のVBAでフォームのテキストボックスに実行ログを表示させていのですが、以下のものだと全ての処理が終了したときに表示されてしまいます。
私が望むのは、イミディエイト風に現在の実行状況(一行づつ)を表示したいのですが、アドバイスをお願いします。

Private Sub bA_Click()
nCnt = ActiveWorkbook.Worksheets.Count
For I = 1 To nCnt
With ActiveWorkbook
If (.Worksheets(I).Name = "A") Then
Call Update_All(.Worksheets(I).Name)
End If
End With
Next I
End Sub

Function Update_All(sSheetName As String)
Call DB_Connect(Connect)
Set Myws = DBEngine.CreateWorkspace("ODBC", "User", "Password", dbUseODBC)
Set Myco = Myws.OpenConnection("", dbDriverNoPrompt, False, Connect$)
Myco.QueryTimeout = 3600
With Worksheets(sSheetName)
Do Until (.Cells(I, 1) = "")
For J = 3 To 24
If .Cells(I, J) > 0 Then
PRICE = .Cells(I, J)
Spproc$ = "UPDATE AAA SET A.MPRIC=CONVERT(INT,A.WEGT*" & PRICE & "+0.5) " & "FROM AAA A,BBB B "
tLOG.SelText = Format(Now(), "hh:mm:ss") & Chr(9) & "更新開始・・・" & vbCrLf
Set Myset = Myco.OpenRecordset(Spproc$, dbOpenDynamic, 0, dbOptimistic)
Myset.Close
tLOG.SelText = Format(Now(), "hh:mm:ss") & Chr(9) & "更新終了・・・" & vbCrLf
End If
Next
I = I + 1
Loop
End With
Myco.Close
Myws.Close
End Function

excel2000のVBAでフォームのテキストボックスに実行ログを表示させていのですが、以下のものだと全ての処理が終了したときに表示されてしまいます。
私が望むのは、イミディエイト風に現在の実行状況(一行づつ)を表示したいのですが、アドバイスをお願いします。

Private Sub bA_Click()
nCnt = ActiveWorkbook.Worksheets.Count
For I = 1 To nCnt
With ActiveWorkbook
If (.Worksheets(I).Name = "A") Then
Call Update_All(.Worksheets(I).Name)
...続きを読む

Aベストアンサー

テキストボックスに文字を設定した後にDoEventsを入れればいけると思います。
が、その他のExcelでの操作もできるようになってしまうので、注意が必要です。
詳しくはDoEventsをヘルプで調べてみてください。

Q『リップル』とは?

電源系の話の中で、よくリップルという言葉を聞きます。
リップルってなんですか?

Aベストアンサー

主にACをDCに変換したときに残っている交流成分です。
平滑回路がプア-だとリップル成分が残りDCを必要としている回路に影響が出ます。
交流成分のMAXとMINの電圧差を直流成分の平均値でわったものをリップル率とします。

参考URL:http://www-nh.scphys.kyoto-u.ac.jp/~enyo/kougi/elec/node11.html

Qエクセル VBA ユーザーフォーム リストボックスで選択した値をテキストボックスに自動表示

エクセル初心者です。
ユーザーフォームで検索窓を作成しリストボックスへ表示
         ↓
リストから選択すると同じユーザーフォーム内のテキストボックスに値が自動で表示
         
というフォームを作りたいのですがご教授お願いします。

A列   B列  C列   D列   E列
番号 / 品名 / 品番 / 原価 / メーカー
1    A   20×20  100  A社
2    A   20×30  150  A社
3    B   50×50  100  B社


下図のようなフォーマットで考えています。

Aベストアンサー

回答が付かないようなので、とりあえず・・・です。
シートの内容(A2:E4)をリストに表示し、そこで選択された行の内容をラベル?(A列・・・E列と表示されているところ)に表示するVBAを書いてみました。参考になりますかね?
もしかしたら、検索結果のみをリストに表示したいのでしょうか?
正直なところ、やりたいことがよくわからないので、適切な回答になっていないと思います。必要出れば追加で質問することをお勧めします。

以下、サンプルです。コードはユーザフォームの下に張り付けて下さい。
リストボックス名「ListBox1」
ラベル名「LabelA,LabelB,LabelC,LabelE」

Private Sub ListBox1_Click()
LabelA.Caption = ListBox1.List(ListBox1.ListIndex, 0)
LabelB.Caption = ListBox1.List(ListBox1.ListIndex, 1)
LabelC.Caption = ListBox1.List(ListBox1.ListIndex, 2)
LabelE.Caption = ListBox1.List(ListBox1.ListIndex, 4)
End Sub

Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 5
ListBox1.RowSource = "Sheet1!A2:E4"
ListBox1.ListIndex = 0
End Sub

回答が付かないようなので、とりあえず・・・です。
シートの内容(A2:E4)をリストに表示し、そこで選択された行の内容をラベル?(A列・・・E列と表示されているところ)に表示するVBAを書いてみました。参考になりますかね?
もしかしたら、検索結果のみをリストに表示したいのでしょうか?
正直なところ、やりたいことがよくわからないので、適切な回答になっていないと思います。必要出れば追加で質問することをお勧めします。

以下、サンプルです。コードはユーザフォームの下に張り付けて下さい。
リストボックス...続きを読む

Qリップルについて

出力電流を大きくするとリップル電圧が大きくなるのはどうしてですか?また,リップル率が大きいと何が不都合なのでしょうか?よろしくおねがいしますm(_ _)m

Aベストアンサー

1.>出力電流を大きくするとリップル電圧が大きくなるのはどうしてですか?

先ず半波整流回路で説明します。
http://www.picfun.com/partpwr.html
上から1/4くらい・・・[整流平滑回路]の(1)半波整流回路 のところを見てください。
(この回路図は不十分です。本当は、[Vout]と[0]の間に負荷がつながります。これを仮に[R1]とします)

もし、コンデンサ(C1)がないと、出力には「整流直後の波形」のような波形が現われます。(リプル率100%)
C1があると、入力電圧が下降のサイクルに入っても、”コンデンサから電流が供給される”ので、電圧はあまり下がらず、「平滑後の直流波形」中の赤線のようになります。
(この図は、ほぼリプル率50%です)

コンデンサの容量が十分大きいと、谷の部分がほとんどなくなります。(リプル0に近付く)
コンデンサの容量が小さいと、直ぐに放電仕切ってしまい、間に電圧0Vの箇所ができることがあります。

この図からおわかりのように、コンデンサC1の容量が同じ場合、負荷抵抗R1が小さいと、大電流が流れるので、放電が早くリプルは大きくなります。
リプルを同じにするためには、大きい容量のコンデンサが必要です。

両波整流の場合は、同じ容量のコンデンサでも、放電しきらないうちに次の整流出力が供給されるので、リプルは小さくなります。
(同じリプルにするには、容量は小さくてよい)

リプルについては、下記のQ/Aもご参照ください。
もう少し詳しく解説しています。
http://security.okwave.jp/kotaeru.php3?q=2129380

2.>リップル率が大きいと何が不都合なのでしょうか?

オーディオアンプではハム(ノイズ)の原因になります。
ただし、アンプ回路にはデカップリング回路があり、更にリプルを減少させる機能があるので、通常数V以下なら問題になりません。
(プリアンプであればもっと厳しい)

また、リプルがあるということは、電源電圧が低いのと同じであり、最大出力の確保ができなくなります。
(オーディオアンプでも無線送信機でも同じ)

一般に、アンプの出力と電源電圧の関係は、
  W=Vcc^2/8RL
の関係で表されます。ただし、
  W:最大出力
  Vcc:電源電圧
  RL:負荷抵抗

例えば、負荷抵抗8Ωで100Wの出力を出すためには、80Vの電源が必要です。

ここで、整流後の尖頭電圧100V,リプル率30%の電源は、谷間で70Vになってしまうので、100W出力は出せません。
コンデンサの容量を上げて、リプル率20%にしてやれば、谷間でも80Vあり、最大出力100Wが確保できます。

ANo.2の方が言っておられるレギュレータ問題も同じです。
例えば、マージン1.0Vが必要な、出力8Vの3端子レギュレータは、入力9.0Vを確保してやらなければなりません。

整流後の尖頭電圧10.0Vでリプル率20%では、谷間で8.0Vとなりレギュレータの役目をしません。
コンデンサの容量を上げて、リプル率10%以下にする必要があります。

参考URL:http://www.picfun.com/partpwr.html

1.>出力電流を大きくするとリップル電圧が大きくなるのはどうしてですか?

先ず半波整流回路で説明します。
http://www.picfun.com/partpwr.html
上から1/4くらい・・・[整流平滑回路]の(1)半波整流回路 のところを見てください。
(この回路図は不十分です。本当は、[Vout]と[0]の間に負荷がつながります。これを仮に[R1]とします)

もし、コンデンサ(C1)がないと、出力には「整流直後の波形」のような波形が現われます。(リプル率100%)
C1があると、入力電圧が下降のサイクルに入っても、”コンデン...続きを読む

QVB6でテキストボックスに入力した内容をリアルタイムにテキストファイルに書き出していく方法は?

テキストボックスに書き出した内容をテキストファイルに書き出すのに、最後に「保存」ボタンを作りまとめて行っていますが、これを、テキストボックスに内容を入力し始めたらそのままテキストファイルとして保存されるとともに、どんどん追加書き出しされるような方法はありませんか?
多分Keydownとかを使うのでは、と思うのですが、やり方が全然分かりません。どなたか教えてください!!!よろしくお願いします。

Aベストアンサー

テキストボックスに追加された文字に対する操作は、変数やファイルというものの構造上好ましくないですね。
また、BackSpaceやDeleteキーで消されたときにも対応できません。
TAGOSAKU7さまのコードのように、内容が変更されたら、テキストファイルのすべてを書きなおすという方法をとるのが理想です。
しかし、この方法では内容が長くなってきたときに、1文字1文字入力するたびに、ディスクアクセスが発生することになり、文字を打っている人にストレスを与えてしまいます。

ということで最後に文字を入力してからおよそ3秒後にファイルを保存するという方法を紹介します。

○ フォームにテキストボックスを貼り付け、MultiLineプロパティをTrueにする。
○ フォームにタイマーコントロールを貼り付け、Intervalプロパティを1000にして、EnabledプロパティをFalseにする。

○ 次のコードをフォームのコードに貼り付ける。

Const TEST_FILE = "c:\test.txt"
Const N_SEC = 3

Private Sub Text1_Change()

Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()

On Error Resume Next

Static Cnt As Long
Dim strText As String
Dim lngFile As Long

Cnt = Cnt + 1

If Cnt = N_SEC Then

Timer1.Enabled = False
Cnt = 0
Kill TEST_FILE
strText = Me.Text1.Text
lngFile = FreeFile
Open TEST_FILE For Binary Access Write As #lngFile
Put #lngFile, , strText
Close #lngFile

End If

End Sub

-------------------

ってな感じでどうでしょう。
真中ら辺はTAGOSAKU7さまのコピーです。
ちなみに
Const N_SEC = 3
の3を変えれば何秒後でもできます。

テキストボックスに追加された文字に対する操作は、変数やファイルというものの構造上好ましくないですね。
また、BackSpaceやDeleteキーで消されたときにも対応できません。
TAGOSAKU7さまのコードのように、内容が変更されたら、テキストファイルのすべてを書きなおすという方法をとるのが理想です。
しかし、この方法では内容が長くなってきたときに、1文字1文字入力するたびに、ディスクアクセスが発生することになり、文字を打っている人にストレスを与えてしまいます。

ということで最後に文字を入力...続きを読む

QACアダプタのリップル電圧

ACアダプタのリップル電圧を測定したいと思い、テスターで測定してみると50Vという値が出ました。
商用交流はきちんと測定できているのでテスターの故障ではありません。

テスターではリップル電圧は測定できないのでしょうか?
またそのときにはほかにリップル電圧を測定する方法はあるのでしょうか?

Aベストアンサー

50Vというのはレンジの読み違いか何かではないかとは思いますが、いずれにせよリップルは正弦波ではないのでテスターで正確な測定はできません。(テスターの内部の動作を十分理解した上で使うなら目安ぐらいにはなりますが・・・)
きちんと見るには安物でもオシロスコープがほしいところです。最近はUSB接続の安価なものもありますよ。

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

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

Aベストアンサー

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

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

Q電解コンデンサのリップル電流は何を示しているの?

電解コンデンサを充放電させるおもちゃを考えているのですが、例えば充電状態で端子を短絡すると内部インピーダンスでの電流が流れます。この電流は非常に大きなものになりコンデンサの仕様にあるリップル電流をはるかに超えてしまいます。出力電流がリップル電流を超える使い方は不可なのでしょうか?リップル電流の意味を教えてください。また、ESRという抵抗値が示されていますが120Hzと20kHzの2種類で示されています。抵抗は周波数とは無関係ではないのでしょうか?対象者が素人なのでそれに合わせたやさしい解説をしていただければ幸いです。

Aベストアンサー

tanceです。
リップル電流による発熱と寿命の関係は参考URLの5.3をご覧ください。

あくまで熱ですから、間欠動作なら温度は上がらないこともあり得ます。
ストロボなどはまさにその典型です。

ただし、間欠動作といっても、その電流が相当大きい場合は部分的
発熱も相当な温度になる可能性がありますので、やはり電極の構造
などから、普通の電解コンデンサを短絡するような使い方は避けた方が
良いと思いますよ。

参考URL:http://www.chemi-con.co.jp/catalog/pdf/al-j/al-all-1001l/al-technote-080829.pdf

Qテキストボックスのカーソル位置

いつもお世話になります、
ユーザーフォームのテキストボックスにカーソル位置を置いたらマクロが実行されるようなコードをご存知の方いらっしゃいましたらご教示願います。目的は入力支援です。

Aベストアンサー

vb vba mouse などで検索すると、たくさん出てきませんか?

道場、サンプル集みたいなサイトもあったような。

優しくて、気に効いたUIができるといいですね。


人気Q&Aランキング

おすすめ情報