質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

2回答

455閲覧

VBScriptのIf文の変数比較について

teefpc

総合スコア111

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2022/07/24 01:04

VBScriptのIf文で、時刻を変数で判定できません。
リテラル値(いわゆるベタ書き)なら判定できます。なぜでしょうか?

[sample.vbs]

VBScript

1Dim starting_time 2starting_time = "10:15:00" 3 4Do 5 6 If Time = starting_time then ' 動作しません 7 msgbox "A" 8 WScript.Quit 9 end if 10 11 If Time = "10:15:00" then ' 動作します 12 msgbox "B" 13 WScript.Quit 14 End if 15 16Loop

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Time関数の戻り値はDate型になるので、文字列とDate型の比較になりうまくいかないのでしょう。
時刻は、シャープ記号 (#) で囲むとDate型になります。

vb

1Dim starting_time 2starting_time = #10:15:00#

投稿2022/07/24 01:51

hatena19

総合スコア33620

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

型が文字列とdatetime型かなんかで違うからです。
If Time Format(starting_time , "hh:mm:ss") then
などとして型を揃える必要があります。

投稿2022/07/24 01:50

usekay

総合スコア395

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問