いつも拝見させて頂いております。
早速、質問ですが、
あるフォルダの更新処理(F5キー操作)をバックグラウンドで
VBScriptを使用して行いたいと思っています。
sendキーを使って行う方法があることは判っていますが、
エクスプローラをアクティブにしないとできない等、問題があり、
バックグラウンドでは、どのようにしたら良いかわからず、
困っています。
どなたかVBScript等を使用してよい方法があればご教授頂ければ
幸いに思います。
FileSystemObject等を使用して更新(リロード)は可能でしょうか?
追記です。
エクスプローラの「ビューの更新」をバックグラウンドで
行うには? と書いた方が良いように思いましたので…
宜しくお願いします。
VBScriptはさっぱり分かりませんが
IEやExplorerの表示を自動的(10秒ごと)に「最新の情報に更新」するVBScript/HTA
http://www.vector.co.jp/soft/win95/net/se376223.html
を調べると何か分かるかもしれません。
早々のご返答ありがとうございます。
参考にさせていただき再度、報告したいと思います。
試したのですが、ExplorerをActive状態にして
いることが、前提のようです…
以上、中間報告まで。
ShellWindows.Itemメソッドで対象とするオブジェクトを探して、
それに対してInternetExplorer.Refreshメソッドで更新をかけるとか。
探すには、まずInternetExplorer.DocumentプロパティがShellFolderView
であるものを選び、更にそこでShellFolderView.Folder.Self.Pathプロパティ
などで判断すれば良いでしょう。(Selfプロパティが使える環境の場合)
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