• ベストアンサー

WORDの時間経過後、自動終了

職場の共有フォルダーに入っているdosファイルを、開けたまま席を離れ、他の人が使えません。 EXCELでは、時間が経つと終了できるマクロを組むことが出来ますが、ワードにはそのようなマクロはできないのでしょうか? ネットを探しても、イマイチ出ないため質問させていただきます。

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

> 真ん中のCall Timerの色が変わり、ストップします。 > どのような自体なのでしょうか? マクロ(VBE)はある程度ご存じということで話を進めていいんですよね? とりあえず添付図のように、 ・ThisDocumentモジュールに、短い方 ・標準モジュールのModule 1に長い方 それぞれ書いて、お試しくださいませ。 それでも出来なかったら、 Private Sub Document_Open() Dim intTime As String Dim varTime As Variant   intTime = "00:00:05" '動作までの時間を指定   varTime = Now + TimeValue(intTime) '処理開始時間を計算   Application.OnTime When:=varTime, Name:="Alert" '処理開始時間になったら"Sub Alert"を処理 End Sub Sub Alert() Dim intMB As Integer   intMB = MsgBox(Format(TimeValue("00:00:05"), "s") & "秒経過", vbOKOnly + vbExclamation) End Sub コレをThisDocumentモジュールに貼り付けて、標準モジュールは全て消して、お試しくださいませ。

damedame777
質問者

補足

ActiveDocument.Close SaveChanges:=wdSaveChanges Application.Quit alertを上記に書き換えたら、自動で保存して終了してくれました。 お騒がして申し訳ありません。 何度もご丁寧に教えていただきありがとうございました。

その他の回答 (2)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

> 開くと、ここでコンパイルエラー プロパティの使い方が不正ですとでます。 > 私のマクロへの貼り付けがいけないのでしょうか。 すいません。私のスペリングミスです。  Application.OnTime When:=varTime, Name:="Alert" '処理開始時間になったら"Sub 「valTime」→「varTime」に書き直してください。(エルとアールの違いです) > また、2003でも同じ結果が得られるのでしょうか? 確認しました。 問題なく、出来ます。

damedame777
質問者

補足

何度もご教授ありがとうございます。 職場のPCが2003なので自宅でも試したのですが、 Private Sub Document_Open() Call Timer End Sub 真ん中のCall Timerの色が変わり、ストップします。 どのような自体なのでしょうか?

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

MS-Word2010で動作確認しました。 以下、標準モジュールへ。 Option Explicit Public intTime As String Public varTime As Variant Sub Timer()   intTime = "00:00:05"  '動作までの時間を指定   varTime = Now + TimeValue(intTime)  '処理開始時間を計算   Application.OnTime When:=valTime, Name:="Alert" '処理開始時間になったら"Sub Alert"を処理 End Sub Sub Alert() Dim intMB As Integer   intMB = MsgBox(Format(TimeValue("00:00:05"), "s") & "秒経過", vbOKOnly + vbExclamation) End Sub 及び、以下をThisDocumentモジュールへ。 Private Sub Document_Open()   Call Timer End Sub このまま動かすと、ドキュメントを開いて5秒後にメッセージが出ます。 応用なさってくださいませ。

damedame777
質問者

補足

Private Sub Document_Open() Call Timer End Sub 開くと、ここでコンパイルエラー プロパティの使い方が不正ですとでます。 私のマクロへの貼り付けがいけないのでしょうか。 また、2003でも同じ結果が得られるのでしょうか? お忙しいところ回答いただきありがとうございます。 申し訳ありませんが、今一度ご教授願えませんでしょうか。

関連するQ&A