• ベストアンサー

VBAで自動時刻修正

表題の通りなのですが,VBAから自動で時刻修正をするやり方をご存知ないでしょうか? フリーソフトを使ってWinからは出来るのですが,どうしてもVBAから時刻の修正の必要が出てきてしまいました。 どうか,アドバイスをよろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 w32tm を使えばよいと思います。 一度、ご自分の時刻サーバーをご確認ください。 Sub TimeAdjustment() Dim ret As Long Const MYCOMMAND = "w32tm /config /update /manualpeerlist:time.windows.com" ret = Shell(MYCOMMAND) End Sub 詳しい、ErrorLevelは分かりませんが、調整できない場合は、たぶん、ret が、1000以下だと思います。 ErrorLevel を調べて、If で分岐し、もし、ダメだった場合は、rediscover オプションで、リカバーを設けたほうがよいかもしれません。 言うまでもなく、これは、インターネットにつながっていることが条件です。 一応、こちらでは、時刻の同期は成功しています。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

#2です。 書き忘れていたけれど、それは、#2 は、Win XP のみです。9x系では、たぶん、net time を使うようにはなると思いますが、試していません。そもそも、あまり、VBA上では、Net Work の調整以外には、あまりこうした必要性が出てきませんね。

gyogyo
質問者

お礼

別件でお礼を言わせていただきました。ありがとうございました。

noname#22222
noname#22222
回答No.1

Private Sub CommandButton1_Click()   Time = #12:00:00 AM# End Sub

gyogyo
質問者

補足

ありがとうございます・・・しかし これは時刻を12時に修正するということですよね? ネットに接続して,正確な時刻を修正したいのですが。