何か時間のかかる処理が終わったとき、ユーザーに処理が終わったことをビープ音で知らせたいと思います。1回だと気付きにくいので3回「ピッピッピッ」と鳴らしたいのですが、Beep を3回記述しても鳴りません。苦し紛れに下記の関数を作って間に合わせているのですが、間隔を1秒とっているのでちょっと間延びした感じです。もっとリズミカルに鳴らしたいのですが、いい方法があったらどなたか教えてください。
--------------------------------------------------------------------
Public Function beep3()
  Dim i As Integer
  Dim dend As Double

  For i = 1 To 3
    dend = Timer + 1
    Beep
    Do
      If Timer > dend Then
        Exit Do
      End If
      DoEvents
    Loop
  Next i
End Function

このQ&Aに関連する最新のQ&A

doevents」に関するQ&A: DoEventsは意味ない?

A 回答 (4件)

再びmaruru01です。



間にSleepを入れないと出来ない(条件によっては3回に聞こえることもあるけど)ですよ。
っていうか、BeepとSleepで私の環境では出来ましたけど。(VB6.0SP5、Windows2000SP2)
あっそうだ、Beepの引数はWindows95、98では無視されます。
では。
    • good
    • 0
この回答へのお礼

ありがとうございました。
自宅のパソコンは98なので、うまく動きませんでした。
仕事先では2000で、2000上で動かすアプリで使用したかったので大助かりです。

お礼日時:2002/04/09 21:12

こんにちは。

maruru01です。

WindowsAPIにも、「Beep」という関数があります。
APIのBeepは周波数(Hz)と秒数(ms)の2つの引数を持ってるので、音色(周波数)と鳴らす間隔(秒数)を調節出来ます。
各Beep間のインターバルはNo.2の方の通り、APIのSleepを使って調節出来ます。
どちらの関数も、MSDNライブラリーで詳細を参照して下さい。
関数の宣言はAPIビューアで取得して下さい。
では。

この回答への補足

ありがとうございます。
が、うまくいきません。
timer関数と同じで1回しか鳴りません。
周波数と間隔をいろいろと変えてやってみたのですが、3回Beepを記述しても1回しか鳴りません。

補足日時:2002/04/08 23:11
    • good
    • 0

こんにちは、honiyonです。



  確か Sleepという関数があったと思います。

  Sleep(1000) で 1秒待ちという意味になります。

  Beep
Sleep(1000)
Beep
Sleep(1000)
Beep

  でいかがですか?

  参考になれば幸いです(..

この回答への補足

ありがとうございます。
が、うまくいきません。
timer関数と同じで1回しか鳴りません。

補足日時:2002/04/08 23:09
    • good
    • 0

あまりお役に立てないかも知れませんが timer は 小数点以下も利用できるはずです。

 timer + 1 を timer + 0.3ぐらいにしてみては いかがでしょうか

この回答への補足

はい、1秒以下でも試しましたが、そうするとうまく3回鳴りません。
0.9以下でだめでした。ハードの周波数の問題とか聞きましたが、それをどうクリアしたらいいのか分かりません。

補足日時:2002/04/08 07:59
    • good
    • 0

このQ&Aに関連する人気のQ&A

doevents」に関するQ&A: DoEvents関数って何?

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

QGパンとTシャツと羽織りシャツの着こなしで

GパンとTシャツでの着こなし方では、TシャツはGパンに

入れないと思うのですが、Tシャツ1枚では少し肌寒い時なんかに

軽く羽織れるシャツ(前ボタンの長袖や半そで)を羽織る場合は

TシャツをGパンの中に入れますよね?

そこまではいいのですが、少し暖かくなって途中羽織っているシャツを脱ぐ時

Tシャツはどうしますか?

ズボンに入れたままか? それか、Tシャツの下の方がシワクチャになっていても出すか?

Aベストアンサー

軽いシャツなんかを羽織る時も入れないでいいと思いますよ。
シャツよりもTシャツの方が長くてスソが出てしまうなら前を閉めなければいいと思います。

QMicroSoft BasicのDim文とVisualBasicのDim文の違い

私が20年前にMicroSoft Basicを使っていたときは、DIM文はDIMENSIONの略で配列型変数の宣言に使っていました。

最近VisualBasicの勉強を始めたのですが、変数の宣言はすべてDim文になっており、昔のMS BasicのDim文と意味合いが変わっているのに驚いています。

ここで質問させてください。
・なぜ配列を意味するDimension文が変数の宣言なのか?
・どのバージョンのBasicからDim文の意味が変わったのか?

私が使用していたのはNEC N-Basic,N-88Basic,N-98Basicです。

Aベストアンサー

VISUAL BASIC のDimは ディメンジョンの略です。
私の経験ではVB2.0時代からありました。

配列0を考えた場合変数とおなじであるからだとおもいます

Q重ね着用の長袖Tシャツについて

長袖Tシャツを半袖Tシャツの下に着たいと思っていますが、色や種類について迷っています。

下に着る長袖Tシャツの色はなるべく半袖Tシャツと同じ色の方が無難でしょうか?
(半袖Tシャツは黒か白です)
長袖Tシャツの袖口がリブになっているものや、リブになってないものがあったのですが、どちらが重ね着用として合いますか?

アドバイス、よろしくお願いします。

Aベストアンサー

#1さんの仰る様に

白に黒、黒に白は必ず合います。
白や黒だと他のパンツやアウターとも組み合わせ
し易いのでオススメですね^^

半袖のシャツに柄がついているならその柄と
同系色のロンTにすると格好良いです^^
逆に無地なら黒シャツなら白のロンTに
シルバーのネックレス、
白シャツなら黒のロンTに黒や黒系のレザーの
アクセを付けるとお洒落ですよ^^

反対色のものはアクセントがついて良いですけど、
同系色のものもまとまりがあって良いですよ?
(同系色は同じ色って意味ではないです・笑)
例えば茶系でまとめると落ち着いた感じになります。

私個人的にはロンTはリブじゃない方が好きです。
上からジャケットでも羽織るならリブの方が
しっくりきますけどね^^

個人の趣味なので余り参考にならないかもですけど
頑張って下さいね♪

QDim x As Integer = 0

いつもお世話になっております。

只今、本に記載してあるソースコードを手入力しています。
標記のように入力したら、『コンパイルエラー 修正候補:ステートメントの最後』というエラーが出ました。

(1)このエラーは無視してもよいのでしょうか?
(2)そもそも、変数の宣言文の後ろに=0をつけている意味がわかりません。当方VB初心者です。

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

Aベストアンサー

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsugi.ed.jp/vba4graduate/vba_hensuusyokika.htm
ーーー
定数のConstであればこういう書き方はOK
Sub test01()
Const x As Integer = 0
MsgBox x
End Sub
ーーー
VB.NETでは、OK
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim x As Integer = 10
MsgBox(x)
End Sub
ーー
Javaでは可能であるようです
http://msugai.fc2web.com/java/var2.html
ーーーーー
>ろに=0をつけている意味がわかりません
宣言と同時に値を与える=初期化する

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsug...続きを読む

QTシャツの下に肌着は着ないのが当たり前なんですか?

普通は、Tシャツの下に白い肌着(下着)は着ないんですか?

Tシャツの色に関係なく、Tシャツの下に白い肌着は着ない方がいいんですよね?

Tシャツは元々は肌着だったから、Tシャツは肌着の代わりに着用するものだという事を初めて知ったので・・・

Aベストアンサー

こんにちは
早速ですがそれは人によりけりだと思います。
肌着を着ける人も居るでしょうが着けない人も居ます。
僕は基本的にTシャツの下に肌着は着ません。
今の季節ですと暑いですから・・・
ただ肌着は汗を吸収するのが役目の一つですから矛盾しているかもしれませんね(汗
制服などの場合肌着の代わりにTシャツを着る人もいますし、
そこのところは気分しだいですね。
まぁなにがなんだかよく分からない回答で申し訳ないですが
質問者さんの好みで着けたり着けなかったりでいいと思いますよ

Qマクロで100マス計算! Dim i,j As Integer For i = 2 ToRang

マクロで100マス計算!

Dim i,j As Integer

For i = 2 ToRange(”A1”).End(xlDown).Row
For j=2 To Range(”B1”).End(xlToRight).Column

Cells(i,j).Value = Cells(i,1).Value * Cells(1,j).Value
Next j
Next i
Endsub

上記のように記述しましたが、
iの最終行が2となってしまっていますがなぜこのコードが間違っているのか分からないです。。どなたか教えていただけたら嬉しいです!

Aベストアンサー

確認してはいませんが…


>改行、スペースは実際にはきちんととっていますので気にしないでください
とのことなので、違っているのかもしれませんが、

>For i = 2 ToRange(”A1”).End(xlDown).Row
         ↓
 For i = 2 To Range(”A1”).End(xlDown).Row
で、うまくいきませんか?
100マス(10×10)と最初から決まっているので、範囲は 2 To 11 でも良いように思いますが…

改行、スペースなどが正しくなっているなら、Range(”A1”).End(xlDown).Rowの値が2以下になっている可能性が考えられます。(ということは、A1が空白セル、または、A3が空白セルなどなど・・)
A1が空白セルの場合は、
 For i = 2 To Range(”A2”).End(xlDown).Row
とするか、
 For i = 2 To 11
などとすることで、動作するのではないかと推測します。

QTシャツにできる小さな穴って・・虫食い??

最近Tシャツによく小さな穴(5mmくらい)があきます。
彼と同居していますが、彼のTシャツだけにあきます。
これは虫食いが原因なのでしょうか?
できるのはTシャツだけで、普段よく洗濯するものだけにあきます。
Tシャツはハンガーで干して、そのまま畳ますハンガーにかけて保管しています。
私のTシャツにはあかず、彼のTシャツだけにあくのは何故でしょうか?原因は虫食いではないのでしょうか。
素材は二人とも綿のTシャツです。

Aベストアンサー

こんにちは、

>これは虫食いが原因なのでしょうか?
虫食いではないとおもいます。虫は毛などの動物性の生地を食べます。
綿は食べないと思いますよ。

Tシャツはニット地ですから一本糸が切れるとセーターやストッキングのように伝線していきますので、どんどん穴が広がって行きます。

何かカバンやシートベルト、マジックテープなど引っ掛かりのあるもので擦れたり、こすれてませんか。心当たりを探ってみて下さい。

QVB6変数の宣言dim j,k,p,m,n as Integerは良くない?

お世話になります。

VB暦1年です。

汎用の変数宣言でタイトルのように
dim j,k,p,m,n as Integer
dim ssa,ssb as String

など、カンマ区切りで変数宣言を使っていたのですが
最近、知人にasの手前の変数は型どおり宣言されるが
その手前の変数はVariant型で宣言されてしまうと指摘されました。

指摘されるまで気にはしていませんでしたが
ウォッチで確認すると変数に代入されるまでは
型がVariant/Emptyとなってます。

以後、気をつければいいのですが
過去にコーディングしたプログラムにも多少、使用していて客先に納品してしまっているものもあります。
後々、問題になるのかな?

Aベストアンサー

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというようなバグの原因になりやすいので、型を明示できるような状況で敢えてVariant型を使うべきではないです。

しかし、すでに納品してしまったコードについては、問題はメモリを余計に使ってしまうことくらいではないでしょうか?
他の人が気づかなかったことから考えるに、多分狭いスコープで使っていますよね? 比較対象や代入するべき型を誤るというようなロジックの誤りがない限り、少なくとも動作上の問題は発生しないと思います。ただ、直せる機会があるのであれば、直した方がいいとは思いますが。

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというよう...続きを読む

QTシャツ不可とは?

今度試合に出場することになったのですが、申し込みのときにもらった紙に、服装・・・テニスウェア着用(Tシャツ不可)って書いてありました。Tシャツ不可ってTシャツを着ちゃいけないってことですよね?
でも私は普段Tシャツを着てプレーしています。Tシャツ不可ってことは何を着ていけばいいんでしょうか。

Aベストアンサー

他の回答者はちょっとずれてるような、、。

Tシャツというのは綿でできた、街で着ているような物を言ってるのではないでしょうか。
テニスウェアでもTシャツといえばTシャツな物もありますよね笑
要するに襟の有無でなく「テニスウェア」といわれるものを着用しろという意味だと僕なら解釈します。

Q調べてもわからないのでこの文の意味を教えてください。 Dim a as system.Reflect

調べてもわからないのでこの文の意味を教えてください。

Dim a as system.Reflection.Assembly=system.Reflection.Assembly.GetExcutingAssembly()

Dim b as string = system.IO.Path.GetDirrectoryName(a.Location)


VB.NETを使用しています。

Aベストアンサー

Dim a as system.Reflection.Assembly=system.Reflection.Assembly.GetExcutingAssembly()
自分自身 (実行プログラム) を参照

Dim b as string = system.IO.Path.GetDirrectoryName(a.Location)
実行プログラムがあるフォルダーのパスを取得


人気Q&Aランキング

おすすめ情報