フォルダの更新方法


INS  2008-03-27 03:02:23  No: 139407

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


INS  2008-03-27 03:18:20  No: 139408

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

宜しくお願いします。


  2008-03-27 04:55:41  No: 139409

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

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


INS  2008-03-27 18:30:32  No: 139410

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


INS  2008-03-28 18:17:09  No: 139411

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

以上、中間報告まで。


K.J.K.  2008-03-28 19:15:54  No: 139412

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

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


魔界の仮面弁士  2008-03-28 19:24:42  No: 139413

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


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加