VBにてフォルダーを開く時の質問です。


SETU  2006-02-24 23:27:53  No: 130403

Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" _
                        Alias "ShellExecuteA" _
                        (ByVal hWnd As Long, _
                        ByVal lpOperation As String, _
                        ByVal lpFile As String, _
                        ByVal lpParameters As String, _
                        ByVal lpDirectory As String, _
                        ByVal nShowCmd As Long) As Long
Private Sub Command1_Click()

Me.hwnd, "explore", "C:\WINDOWS", "", "", 1&
'もしくは
'CreateObject("Shell.Application").Open CVar("C:\WINDOWS")

End Sub

上記の方法でフォルダーをVB6から開いています。ですが実際VBのアプリケーションはメタフレームを使い、サーバで動うごかし個々のPCで操作しているためなのか、サーバーのフォルダーを開けようとします。操作側の個々のPCのフォルダーを開きたいのですがどのようにすればよろしいでしょうか。


SETU  2006-02-25 00:25:49  No: 130404

補足です。
ローカルで起動すると問題なく起動するのですが、サーバにUPしてメタフレームからフォルダーを開こうとすると下記のようなメッセージが表示されます。

ファイル'/e,/idlist,C\'(または構成ファイル)が見つかりません。パスおよびファイル名が正しいか、必要なライブラリがすべて利用可能か、確認してください。

簡単に説明すると下記のような関係です。

サーバ(VBのEXEはここに格納)
↑↓
メタフレーム
↑↓
操作するPC(このPCのフォルダーを開きたい)


特攻隊長まるるう  2006-02-25 00:56:24  No: 130405

サーバとかメタフレームとか関係なく…

あるコンピュータで動いてるEXEが『C:\のフォルダを開け!』って
命令受けたら自分のおなかの中のフォルダを開くのは当然に
思いますが?
自分以外のコンピュータのフォルダを開くなら、コンピュータ名から
指定してあげないと開きようが無いのでは?それを一般的には
ネットワークパスと呼んで、\\コンピュータ名\フォルダパス
の形になってますよねぇ?


コボル  2006-02-25 01:57:58  No: 130406

メタフレームの場合、
CreateObject("Shell.Application").Open CVar("\\Client\C:\WINDOWS")
を試してみてください。


SETU  2006-02-25 02:19:47  No: 130407

返答していいただきありがとうございます。
フォルダパスのところに  \\コンピュータ名\フォルダパス  で起動するとエラーメッセージは出ませんでしたが、フォルダも開かれずになにも起きませんでした。
そこでフォルダパスの箇所を \\IPアドレス\フォルダパス  にしてみたのですが同じでなにも起きませんでした。
申し訳ないのですがご助力お願いします。


SETU  2006-02-25 02:40:37  No: 130408

コボルさん返答ありがとうございます。
CreateObject("Shell.Application").Open CVar("\\Client\C:\WINDOWS")
を試してみたのですが、やはりサーバを探しにいってしまいます。


コボル  2006-02-27 19:18:42  No: 130409

勘違いしてました。
アプリケーションを公開してるんですね。
Citrixへ問い合わせた方が良いと思います。
調査している時間が私にはないので悪しからず。


noname  2006-03-15 00:35:35  No: 130410

>コボル さん
>SETU さん

>CreateObject("Shell.Application").Open CVar("\\Client\C:\WINDOWS")
を試してみてください。
ではなく、
CreateObject("Shell.Application").Open CVar("\\Client\C$\WINDOWS")
で開けます。
ネットワーク共有をかけていないドライブにアクセスする場合は、
\\IP\ドライブ$\フォルダ
という形じゃないとダメみたいです。

日付を見るともう遅いようですが、未来に来るかも知れぬ誰かのためにレスです^^;


papyrus  2006-03-21 03:44:02  No: 130411

>誰かのためにレスです
nonameさん、お心遣い感謝です。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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