![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
お世話になります
会社でログ監視ツールを導入するにあたりどの程度負荷がかかるのか
計測することになりました。
まず、ファイルを開くのにかかる時間をログに記録するための
スクリプトを作成しました。
プログラムの最初と最後に時間を出力するというものです。
しかし、やってみたところ前後でまったく同じ時間が記録されていました。(秒まで)
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
No.3ベストアンサー
- 回答日時:
ログの読み書きは通常はテキストファイルのやり取りで済む話だと思いますが、
(何でpptファイルを開く時間を取得したいのかは良くわかりません。)
他プロセスに関しては、オブジェクトの何らかのプロパティで取得できなければ
プロセスか、アプリケーションか、ウインドウの監視をするしかないと思います。
pptオブジェクトには触ったことがありませんので詳しくわかりません。
一概に開く時間といっても、ぱっと見ただけで
pptが起動する。
該当ファイルを読み込み始める(ウインドウのキャプションにファイル名が追加され、hourglassが消える)
該当ファイルを表示する。
の3段階があるように思えます。
私がやるとすれば、ちょっとめんどくさいけどウインドウのハンドルを捕まえて、キャプションがファイル名になるのを監視するかな。
ログ監視ツール導入により大容量ファイル、パワーポイントやマクロ入りExcelファイルなどが重くなることがわかっているため
pptファイルを開く時間を計測することになったのです。
オブジェクトのプロパティで取得できない場合の対処法が
よくわかりました。
ありがとうございました。
No.2
- 回答日時:
こういう事でいいのでしょうか?
Sub test()
Dim t
t = Timer
・・・処理・・・
MsgBox Timer - t
End Sub
最初に t = Timerで、マクロ開始時刻が記録されます。
最後に、Timer - T と引き算することで、マクロの経過時間(秒)が得られます。
参考URL:http://dqn.sakusakutto.jp/vba/
今回の質問は、測定したいプロセス終了後に
時間計測処理を走らせるには
どうすればよいかというものでした。
ただ、時間計測のロジックは大変参考になります。
早速取り入れました。
ありがとうございました。
No.1
- 回答日時:
ファイルを開く時間というのが、何を意味しているのか良くわからないけど、
(ネットワーク越しにファイルを転送する時間を測定したほうが良いような気がしますが、)
外に投げるものでは時間がわからないので、FSOとか使うと良いと思います。
あとミリセカンドで測定しないと意味がないと思います。
http://www.whitire.com/vbs/tips0046.html
この回答への補足
アドバイスありがとうございます!
知識不足で大変恐縮ですが、
パワーポイントを開くには
WScript.CreateObject(”PowerPoint.Application”)
でが必要で、
ログファイル出力とは別オブジェクトをになってしまい
同じ結果となってしまう気がしますが。
別オブジェクトであっても処理結果を待って
次のプロセスにつなげることは出来ますでしょうか。
ミリセカンドの件、確かにそうです。ありがとうございます。
その後完璧ではないですが、
何とか形にすることが出来ました。
もう少し知識を積み重ねていきたいと思います。
いろいろありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Wordのプロパティ・総ページ数...
-
ffftpでファイル取得が0バイト...
-
FileDialog オブジェクトでファ...
-
ファイルを開く時間測定のスク...
-
EXCEL VBA tif画像のプロパティ...
-
VB.Netソリューションでフォー...
-
AccessからOLEオブジェクト型の...
-
Accessのウインドウサイズの固定
-
フォルダ階層・ファイル名・ペ...
-
vbaサブフォルダーをワイルドカ...
-
VBA、ファイル名検索から開く、...
-
複数のワークブックのVBAを変更...
-
Excel VBAでのファイル名取得方法
-
【VBAマクロ初心者】Excel VBA...
-
「AccessViolationException」...
-
ファイル番号の取得について
-
visual studioでフォームデザイ...
-
MAPIコントロールでファイル添...
-
コモンダイアログのファイルを...
-
VBAによるファイル名リスト作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
動かなくなってしまった古いVBA...
-
ffftpでファイル取得が0バイト...
-
FileDialog オブジェクトでファ...
-
サブフォルダ含むフォルダ内の...
-
「エクセルファイルが開いてい...
-
Accessのウインドウサイズの固定
-
excel マクロ PDF化の際のエラ...
-
ExcelVBA 文字コード変換
-
AccessからOLEオブジェクト型の...
-
VBAでフォルダ内のhtmlファイル...
-
【VBAマクロ初心者】Excel VBA...
-
VBからExcelファイルを開くとき...
-
「AccessViolationException」...
-
【ACCESS VBA】アクセスからデ...
-
VB6でUTF-8ファイルの読取りを
-
ファイルを開く時間測定のスク...
-
複数のワークブックのVBAを変更...
-
VB.net XMLの作成方法 Iniの代替
-
エクセルのVBAで開いている...
おすすめ情報