dポイントプレゼントキャンペーン実施中!

お世話になります

会社でログ監視ツールを導入するにあたりどの程度負荷がかかるのか
計測することになりました。

まず、ファイルを開くのにかかる時間をログに記録するための
スクリプトを作成しました。
プログラムの最初と最後に時間を出力するというものです。

しかし、やってみたところ前後でまったく同じ時間が記録されていました。(秒まで)
Runメソッドを使用し、ファイルが開き終わってから時間を記録するように
するにはどういったロジックが必要なのか教えてください。

よろしくお願いします。

【現在のスクリプト】
Option Explicit

Dim objWShell
Dim objFs
Dim outFile
Dim vbNormalFocus
Dim myData

Set objFs = CreateObject("Scripting.FileSystemObject")

Set outFile = objFs.CreateTextFile("ログファイルのパス", True) 'Trueは上書き可

Set objWShell = CreateObject("WScript.Shell")

OutFile.WriteLine Now()

objWShell.Run "rundll32.exe url.dll" & _
",FileProtocolHandler 資料のパス", 1, TRUE

OutFile.WriteLine Now()

OutFile.WriteLine "終了"

OutFile.Close

A 回答 (3件)

ログの読み書きは通常はテキストファイルのやり取りで済む話だと思いますが、


(何でpptファイルを開く時間を取得したいのかは良くわかりません。)

他プロセスに関しては、オブジェクトの何らかのプロパティで取得できなければ
プロセスか、アプリケーションか、ウインドウの監視をするしかないと思います。
pptオブジェクトには触ったことがありませんので詳しくわかりません。

一概に開く時間といっても、ぱっと見ただけで
pptが起動する。
該当ファイルを読み込み始める(ウインドウのキャプションにファイル名が追加され、hourglassが消える)
該当ファイルを表示する。
の3段階があるように思えます。
私がやるとすれば、ちょっとめんどくさいけどウインドウのハンドルを捕まえて、キャプションがファイル名になるのを監視するかな。
    • good
    • 0
この回答へのお礼

ログ監視ツール導入により大容量ファイル、パワーポイントやマクロ入りExcelファイルなどが重くなることがわかっているため
pptファイルを開く時間を計測することになったのです。

オブジェクトのプロパティで取得できない場合の対処法が
よくわかりました。

ありがとうございました。

お礼日時:2011/02/03 10:09

こういう事でいいのでしょうか?



Sub test()
Dim t
t = Timer
・・・処理・・・
MsgBox Timer - t
End Sub


最初に t = Timerで、マクロ開始時刻が記録されます。
最後に、Timer - T と引き算することで、マクロの経過時間(秒)が得られます。

参考URL:http://dqn.sakusakutto.jp/vba/
    • good
    • 0
この回答へのお礼

今回の質問は、測定したいプロセス終了後に
時間計測処理を走らせるには
どうすればよいかというものでした。

ただ、時間計測のロジックは大変参考になります。
早速取り入れました。

ありがとうございました。

お礼日時:2011/02/03 10:11

ファイルを開く時間というのが、何を意味しているのか良くわからないけど、


(ネットワーク越しにファイルを転送する時間を測定したほうが良いような気がしますが、)
外に投げるものでは時間がわからないので、FSOとか使うと良いと思います。 
あとミリセカンドで測定しないと意味がないと思います。

http://www.whitire.com/vbs/tips0046.html

この回答への補足

アドバイスありがとうございます!

知識不足で大変恐縮ですが、
パワーポイントを開くには
WScript.CreateObject(”PowerPoint.Application”)
でが必要で、
ログファイル出力とは別オブジェクトをになってしまい
同じ結果となってしまう気がしますが。

別オブジェクトであっても処理結果を待って
次のプロセスにつなげることは出来ますでしょうか。

ミリセカンドの件、確かにそうです。ありがとうございます。

補足日時:2011/02/02 10:20
    • good
    • 0
この回答へのお礼

その後完璧ではないですが、
何とか形にすることが出来ました。

もう少し知識を積み重ねていきたいと思います。

いろいろありがとうございました。

お礼日時:2011/02/03 10:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!