'ビットレート自動計算機
'変数
msgA = "時間(アワー)を入力してください"
msgB = "時間(ミニッツ)を入力してください"
msgC = inputbox(msgA,"ビットレート自動計算機","半角で入力")
msgD = inputbox(msgB,"ビットレート自動計算機","半角で入力")
'変数
num1 = msgC * 3600
num2 = msgD * 60
num3 = num1 + num2
'計算
bitrate = 335544\num3 - 50
'分岐
if bitrate <= 0 then
msgbox "動画時間が長すぎます
elseif 0 < bitrate < 150 then
msgbox "ビットレートが" & bitrate & "になりますが、よろしいですか?",vbyesno
end if
msgbox "適正ビットレートは" & bitrate & "です"
質問
1:「動画時間が長すぎます」のあとに最初に戻りたいのですがどうしたらいいですか?
2:elseifでyesボタンを押したときは処理を続けて、noボタンを押したときは最初に戻りたいのですがどうしたらいいですか?
3:アワーをhour、ミニッツをminuteと表示したいんですがどうしたらいいですか?
よろしくお願いします
No.3ベストアンサー
- 回答日時:
[ANo.1] の DOUGLAS_ です。
※失礼いたしました。
>ElseIf 0 < bitrate < 150 Then
は無効でしたね(「0 < bitrate」の部分のみの判断しかしてくれません)。
>If bitrate <= 0 Then
で始まっていますので、「ElseIf」は
0 < bitrate
に決まっていますから、冗長な条件指定になります。
ElseIf bitrate < 150 Then
で十分ですが、
bitrate >= 150
の場合は、前回答でしたら、最初に戻ってしまいます。
※これも、余談ですが
>3:アワーをhour、ミニッツをminuteと表示したい
「msgC」・「msgD」が小数で入力された場合のお話でしたら、それぞれ
Hour(num3 / 86400)
Minute(num3 / 86400)
で取得できます。
No.4
- 回答日時:
繰り返しにおける継続条件と終了条件ですね。
操作している人が納得するまで、つまり「はい」と
応えるまでループする訳ですね。
メッセージの変更は単に文字列を直すだけです。
msgA = "時間(hour)を入力してください"
msgB = "時間(minute)を入力してください"Answer = vbNo
Do Until Answer = vbYes
msgC = inputbox(msgA,"ビットレート自動計算機","半角で入力")
msgD = inputbox(msgB,"ビットレート自動計算機","半角で入力")
★=中略=
Answer = msgbox("ビットレートが" & bitrate & _
"になりますが、よろしいですか?",vbyesno)
Loop
msgbox "適正ビットレートは" & bitrate & "です"
No.2
- 回答日時:
一例です。
'変数
msgA = "時間(アワー)を入力してください"
msgB = "時間(ミニッツ)を入力してください"
Do
msgC = inputbox(msgA,"ビットレート自動計算機","半角で入力")
msgD = inputbox(msgB,"ビットレート自動計算機","半角で入力")
'変数
num1 = msgC * 3600
num2 = msgD * 60
num3 = num1 + num2
'計算
bitrate = 335544\num3 - 50
If bitrate <= 0 Then
MsgBox "動画時間が長すぎます"
ElseIf 0 < bitrate And bitrate < 150 Then
If MsgBox("ビットレートが" & bitrate & "になりますが、よろしいですか?", vbYesNo) = vbNo Then
bitrate = 0
End If
End If
Loop Until bitrate > 0
bitrateが0より大きい場合にループを抜けるようにして、0<bitrate<150での確認メッセージに対してNoだった場合に、bitrateを0にしてループさせています。
>3:アワーをhour、ミニッツをminuteと表示したいんですがどうしたらいいですか?
えぇっと、、、好きなように表示させればいいじゃないですか。
と思ったのですが、何に困っているのでしょうか?
No.1
- 回答日時:
>1:「動画時間が長すぎます」のあとに最初に戻りたい
>2:elseifでyesボタンを押したときは処理を続けて、
> noボタンを押したときは最初に戻りたい
'変数
Do
msgA = "時間(アワー)を入力してください"
・
・
・
ElseIf 0 < bitrate < 150 Then
Response = MsgBox("ビットレートが" & bitrate & "になりますが、よろしいですか?", vbYesNo)
If Response = vbYes Then Exit Do
End If
Loop
MsgBox "適正ビットレートは" & bitrate & "です"
>3:アワーをhour、ミニッツをminuteと表示したい
お尋ねの意味が解りません。 <(_ _)>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハイフンとマイナス
-
教えて!全角文字「μ」の半角文...
-
VB.net テキストボックスの入力...
-
VB2005 TextBoxに何も入力しな...
-
TextBoxに半角数字のみの入力し...
-
WinAPIで日本語入力モード(倍...
-
単純なコマンドプロンプトが動...
-
Access97のテキストボックスプ...
-
インターネットのアドレス欄直...
-
scanf( )で日本語を入力する方...
-
VBAのTextBoxに半角数字のみ入...
-
ショートメールの文字入力
-
NHKの受信料の明細書と領収書
-
カードの請求でApple.combillみ...
-
ネット内で「事後通販」という...
-
agodaで現地決済にしたのにカー...
-
STEAMでゲームを購入したところ...
-
JILLSTUARTのリップバームをプ...
-
NTT テレホンカード の価格が額...
-
コンビニ決済で期限が切れてし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハイフンとマイナス
-
VBAのTextBoxに半角数字のみ入...
-
TextBoxに半角数字のみの入力し...
-
scanf( )で日本語を入力する方...
-
テキストボックスの入力制限
-
VB2005 TextBoxに何も入力しな...
-
VB.net テキストボックスの入力...
-
教えて!全角文字「μ」の半角文...
-
入力フォーム(電話番号)
-
WinAPIで日本語入力モード(倍...
-
ショートメールの文字入力
-
VISAカードの会員番号とは??
-
PHP, Mysql で名前のあいまい...
-
メールが送れません
-
単純なコマンドプロンプトが動...
-
「FROM 句の構文エラーです」が...
-
アクセスのフォーム入力時に文...
-
Kompozerについて
-
JSPで、日本語入力のON/OFF
-
キーボードからの入力の方法
おすすめ情報