• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルを開く時間測定のスクリプトについて)

ファイルを開く時間測定のスクリプトについて

このQ&Aのポイント
  • 会社でログ監視ツールを導入するにあたり、ファイルを開くのにかかる時間を計測するためのスクリプトを作成しましたが、前後で同じ時間が記録されています。
  • 現在のスクリプトでは、ファイルを開く前後で同じ時間が記録されてしまいます。ファイルが開き終わってから時間を記録するためにはどうしたらいいでしょうか。
  • ログ監視ツールの導入にあたり、ファイルを開くのにかかる時間を計測するためのスクリプトを作成しましたが、まったく同じ時間が記録されています。ファイルが開き終わってから時間を記録するためにはどのようなロジックが必要でしょうか。

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

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.3

ログの読み書きは通常はテキストファイルのやり取りで済む話だと思いますが、 (何でpptファイルを開く時間を取得したいのかは良くわかりません。) 他プロセスに関しては、オブジェクトの何らかのプロパティで取得できなければ プロセスか、アプリケーションか、ウインドウの監視をするしかないと思います。 pptオブジェクトには触ったことがありませんので詳しくわかりません。 一概に開く時間といっても、ぱっと見ただけで pptが起動する。 該当ファイルを読み込み始める(ウインドウのキャプションにファイル名が追加され、hourglassが消える) 該当ファイルを表示する。 の3段階があるように思えます。 私がやるとすれば、ちょっとめんどくさいけどウインドウのハンドルを捕まえて、キャプションがファイル名になるのを監視するかな。

punipuni_2
質問者

お礼

ログ監視ツール導入により大容量ファイル、パワーポイントやマクロ入りExcelファイルなどが重くなることがわかっているため pptファイルを開く時間を計測することになったのです。 オブジェクトのプロパティで取得できない場合の対処法が よくわかりました。 ありがとうございました。

その他の回答 (2)

回答No.2

こういう事でいいのでしょうか? Sub test() Dim t t = Timer ・・・処理・・・ MsgBox Timer - t End Sub 最初に t = Timerで、マクロ開始時刻が記録されます。 最後に、Timer - T と引き算することで、マクロの経過時間(秒)が得られます。

参考URL:
http://dqn.sakusakutto.jp/vba/
punipuni_2
質問者

お礼

今回の質問は、測定したいプロセス終了後に 時間計測処理を走らせるには どうすればよいかというものでした。 ただ、時間計測のロジックは大変参考になります。 早速取り入れました。 ありがとうございました。

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

ファイルを開く時間というのが、何を意味しているのか良くわからないけど、 (ネットワーク越しにファイルを転送する時間を測定したほうが良いような気がしますが、) 外に投げるものでは時間がわからないので、FSOとか使うと良いと思います。  あとミリセカンドで測定しないと意味がないと思います。 http://www.whitire.com/vbs/tips0046.html

punipuni_2
質問者

お礼

その後完璧ではないですが、 何とか形にすることが出来ました。 もう少し知識を積み重ねていきたいと思います。 いろいろありがとうございました。

punipuni_2
質問者

補足

アドバイスありがとうございます! 知識不足で大変恐縮ですが、 パワーポイントを開くには WScript.CreateObject(”PowerPoint.Application”) でが必要で、 ログファイル出力とは別オブジェクトをになってしまい 同じ結果となってしまう気がしますが。 別オブジェクトであっても処理結果を待って 次のプロセスにつなげることは出来ますでしょうか。 ミリセカンドの件、確かにそうです。ありがとうございます。

関連するQ&A