フォルダの更新方法


INS  2008-03-26 18:02:23  No: 139407  IP: 192.*.*.*

いつも拝見させて頂いております。
早速、質問ですが、
あるフォルダの更新処理(F5キー操作)をバックグラウンドで
VBScriptを使用して行いたいと思っています。
sendキーを使って行う方法があることは判っていますが、
エクスプローラをアクティブにしないとできない等、問題があり、
バックグラウンドでは、どのようにしたら良いかわからず、
困っています。
どなたかVBScript等を使用してよい方法があればご教授頂ければ
幸いに思います。
FileSystemObject等を使用して更新(リロード)は可能でしょうか?

編集 削除
INS  2008-03-26 18:18:20  No: 139408  IP: 192.*.*.*

追記です。
エクスプローラの「ビューの更新」をバックグラウンドで
行うには?  と書いた方が良いように思いましたので…

宜しくお願いします。

編集 削除
 2008-03-26 19:55:41  No: 139409  IP: 192.*.*.*

VBScriptはさっぱり分かりませんが

IEやExplorerの表示を自動的(10秒ごと)に「最新の情報に更新」するVBScript/HTA
http://www.vector.co.jp/soft/win95/net/se376223.html
を調べると何か分かるかもしれません。

編集 削除
INS  2008-03-27 09:30:32  No: 139410  IP: 192.*.*.*

早々のご返答ありがとうございます。
参考にさせていただき再度、報告したいと思います。

編集 削除
INS  2008-03-28 09:17:09  No: 139411  IP: 192.*.*.*

試したのですが、ExplorerをActive状態にして
いることが、前提のようです…

以上、中間報告まで。

編集 削除
K.J.K.  2008-03-28 10:15:54  No: 139412  IP: 192.*.*.*

ShellWindows.Itemメソッドで対象とするオブジェクトを探して、
それに対してInternetExplorer.Refreshメソッドで更新をかけるとか。

探すには、まずInternetExplorer.DocumentプロパティがShellFolderView
であるものを選び、更にそこでShellFolderView.Folder.Self.Pathプロパティ
などで判断すれば良いでしょう。(Selfプロパティが使える環境の場合)

編集 削除
魔界の仮面弁士  2008-03-28 10:24:42  No: 139413  IP: 192.*.*.*

ShellWindows コレクションを For Each にかけると、
開いているフォルダ / エクスプローラ 等を列挙することができます。
http://msdn2.microsoft.com/en-us/library/bb773974.aspx

Set windows = CreateObject("Shell.Application").windows()
For Each win In windows
    MsgBox win.LocationURL, vbInformation, TypeName(win.Document)
Next


列挙されたオブジェクトのパス/アドレスや Document の型などを用いて、
処理対象のフォルダを開いているウィンドウを特定したら、
そのオブジェクトの Refresh(Refresh2)メソッドを呼んでみてください。
http://msdn2.microsoft.com/en-us/library/aa752098.aspx
http://msdn2.microsoft.com/en-us/library/aa752099.aspx

編集 削除