ここから本文です

UWSCの指定時間に起動する方法について 現在マクロを組んでいるのですがわか...

zam********さん

2016/1/2013:03:16

UWSCの指定時間に起動する方法について


現在マクロを組んでいるのですがわからないことがあるので質問します

9時~12時、15時~17時、20時~21時の間だけマクロを回したいのですが
現在は

WHILE TRUE
GETTIME()
Sleep(3)
XA = ((G_TIME_HH=9) AND (G_TIME_NN=00))
XB = ((G_TIME_HH=12) AND (G_TIME_NN=00))
YA = ((G_TIME_HH=15) AND (G_TIME_NN=00))
YB = ((G_TIME_HH=17) AND (G_TIME_NN=00))
ZA = ((G_TIME_HH=20) AND (G_TIME_NN=00))
ZB = ((G_TIME_HH=21) AND (G_TIME_NN=00))

IFB ((XA < GETTIME()) AND (XB > GETTIME())) OR _
((YA < GETTIME()) AND (YB > GETTIME())) OR _
((ZA < GETTIME()) AND (ZB > GETTIME())) THEN

WHILE TRUE
■処理内容(10秒もあれば終わる内容です)

ENDIF
IFB GETTIME() = XB OR YB OR ZB
BREAK
WEND
WEND

このような記載から色々試行錯誤していますが
どうしても動きません。
GETTIME関数で現在の時刻から比較して範囲内のみ動かすのは可能でしょうか?

閲覧数:
754
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

lin********さん

2016/1/2104:55:11

While True
GetTime()
SELECT G_TIME_HH
CASE 9,10,11,15,16,20
//■処理内容
SELEND
Sleep(1)
WEnd

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

uso********さん

編集あり2016/1/2015:46:56

//とりあえず、私なら↓こうする↓という一例//
Dim ss[24]
While True
  GetHour(ss)
  Sleep(3)
  While CheckHour(ss)
    //■処理内容(10秒もあれば終わる内容)//
    Sleep(1/16)
  WEnd //??この辺の正しい閉じ方は不明??//
WEnd

Function CheckHour(nn[])
  Dim gt
  gt = GetTime()
  Result = (nn[ 9] <= gt And gt < nn[12]) Or _
           (nn[15] <= gt And gt < nn[17]) Or _
           (nn[20] <= gt And gt < nn[21])
FEnd

Procedure GetHour(Var nn[])
  Dim i="", j=""
  GetTime()
  If G_TIME_MM < 10 Then i = "0"
  If G_TIME_DD < 10 Then j = "0"
  nn[0]=GetTime(0, G_TIME_YY+"/"+ i + _
    G_TIME_MM+"/"+ j + G_TIME_DD+" "+"00:00:00")
  j = Resize(nn)
  If 24 < j Then j = 24
  For i = 1 To j
    nn[i] = nn[i-1] + 3600
  Next
FEnd

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる