アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。
VBAの記述で分からないところがあり、質問いたします。

次のようなメソッドを実行しています。
Call CreateObject("WScript.Shell").Run("explorer.exe /root, strFolderPath", 1, False)
Call CreateObject("WScript.Shell").Exec("explorer.exe /root, strFolderPath")

どちらも、実行すると目的のフォルダを表示してくれます。当該フォルダはネットワーク上にあるので、strFolderPathは \\PC_Name\SharedFolder のような記述になっています。
しかし、そのフォルダにあるファイルを右クリックすると、数十秒経過しないとショートカットメニューが表示されません。応答が極端に悪くなるのです。 一度応答が帰ってくれば、その後は普通の応答速度で処理できます。 

どうしてこのような現象が起きるのでしょうか? また、解決(回避)する方法をご教授いただければ幸いです。 よろしくお願いします。

A 回答 (2件)

間違っているかもしれませんが


Call CreateObject("WScript.Shell").Run("explorer.exe /root, strFolderPath", 1, False)

Sub test01()
strFolderPath = "C:\Documents and Settings\"
Call CreateObject("WScript.Shell").Run("explorer.exe /root, " & strFolderPath, 1, False)
・・
のような書き方になるのfではないですか。

この回答への補足

ご回答ありがとうございます。
ご指摘通りです。
私の記述した構文では、正しくは動作しない内容でした。
趣旨に影響が無いと思い、勝手な加工をしてしまいました。
すみません。

imogasiさんの環境では、エクスプローラー上の任意のファイルのショートカットメニューを表示するのに、どれくらいの時間がかかりますか?
直接エクスプローラーを起動してショートカットメニューを表示するのと比較してどうでしょうか?
引き続きご対応下される助かります。
よろしくお願いします。

補足日時:2010/07/13 21:59
    • good
    • 0

>\\PC_Name\SharedFolder


の「PC_Name」について

これを名前でなくIPアドレスに変えてと、、、

---------------------------------
1回目の実行速度が改善される場合
---------------------------------
名前解決に時間がかかっているのでしょう。

DNSサーバを
※利用していないのであれば、これはどうしようもないかも知れません。
※利用しているのであれば、DNSサーバにその端末からIPアドレスを引けるように登録してあげましょう。
(環境が不明なので何とも言えません。)


---------------------------------
1回目の実行速度が改善されない場合
---------------------------------
画面が多いとか、コントロールが多いとか、単に重たいアプリなのでしょう。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …

あたりが参考になるかも知れません。

この回答への補足

ご回答ありがとうございます。
ご指摘のDNSについて、検証しました。
名前解決は正しく為されています。 IP指定、コンピュータ指定のどちらも、エクスプローラーが表示されるのに1秒程度と問題ない反応をしていますが、その中の任意のファイルを選択してショートカットメニューを表示しようとすると十数秒かかってしまいます。
1050YENさんの環境で、上記メソッドを実行した場合の応答速度は、いかがですか?
参考にお知らせくだされば幸いです。
引き続きお力添えください。
よろしくお願いします。

補足日時:2010/07/13 21:47
    • good
    • 0

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