
VB6、WindowsXP
VBのプログラムからあるフォルダを開きにいく単純なプログラムを作成しています。
通常のローカルフォルダであれば、Shell関数でExplorer.exeにパスを渡すだけで問題ないのですが、うまくいかないのは、
開きにいくパスがネットワークパス(\\[サーバ名]\[共有名])の場合で、サーバーにアクセスするのに認証が必要となる場合です。
ファイル名を指定して実行に「\\[サーバ名]\[共有名]」を打ち込んで実行した場合は、Windowsが出してくる認証ダイアログ(ユーザ名、パスワードを聞いてくる)が表示されて、ユーザーが正しいID、パスワードを入力すれば、エクスプローラで共有フォルダが開きます。
この動きがまさにやりたいことなのですが、
Shell関数を使用した場合、引数に「Explorer.exe \\[サーバ名]」と指定した場合はファイル名を指定して実行と同じなのですが、
「Explorer.exe \\[サーバ名]\[共有名]」を指定した場合、認証ダイアログが表示されずにエラー(ディレクトリが無効というような)となってしまいます。おそらく先にサーバ認証を行わずに直接共有を見に行ってしまって存在が掴めないのだと思います。
VBでファイル名を指定して実行と同様の動きを再現する方法をどなたかご存知ないでしょうか?
尚、shellexecuteやVB.NETでprocess.startなどでもやってみましたがshell関数と同じ動きでした。
No.1ベストアンサー
- 回答日時:
net.exeでドライブを割り当ててから Explorerを起動してみましょう
Shell "net.exe use z: \\サーバー名\共有名 パスワード /user:ユーザー名"
Shell "explorer.exe \\サーバー名\共有名",vbNormalFocus
といった具合で接続、表示を行い
Form_Unloadなどで
Shell "net.exe use z: /delete"
といった具合で切断しましょう
この回答への補足
ご回答ありがとうございます。質問が言葉足らずだったかも知れませんが、客先からの要望では、あくまでも「ファイル名を指定して実行」で共有パスを指定したときと同じように、Windowsが出してくる認証ダイアログを利用してユーザにユーザ名とパスワードを入力させたいそうです。net useを使う場合は前もってユーザ名、パスワードを入力させる画面を作るか、DOSプロンプトで入力させるかしないといけないのでイメージが違いそうです。
補足日時:2008/10/22 23:24お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visual Studio 「AnyCpu」について
-
「読み込み違反」が起きたとき...
-
C++初心者です。 debug asserti...
-
Windows PowerShellでC言語を実...
-
VB6 EXEとプログラムの違い
-
エスケープ・シーケンスによる...
-
ManagementClassが見つからない。
-
Designer.vbは直接コードをいじ...
-
う~ん…。
-
VBAの参照設定について
-
byte型をstring型として扱うには
-
VB2013で作成したプログラムの...
-
C#ソースをCSCファイルにてコン...
-
C++Builder5で画像データを用紙...
-
VB6.0で作成したexeファイルが...
-
VBAでエクセルからワードへの差...
-
意味不明の実行時エラーで困っ...
-
~の文字化けについて
-
VBAでOutlookを終了させたい Ex...
-
VBSで起動したアプリが前面表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Visual Studio 「AnyCpu」について
-
excel vbaから実行するexe実行...
-
Windows PowerShellでC言語を実...
-
「読み込み違反」が起きたとき...
-
C++初心者です。 debug asserti...
-
VB6.0 exe作成時に実行時エラー...
-
mscorlib.dllの初回例外について
-
外部exe呼び出しの方法 ShellEx...
-
VisualStudioでC#が実行できない
-
CreateFile が ERROR_PATH_NOT_...
-
androidで.exeを実行できますか?
-
実行ファイル(.exe)が別のPC...
-
ActiveX → VB を起動するとCre...
-
C#VB、exeに埋め込んだexeの実行
-
ActiveDirectoryから値を取得
-
Format 関数のバグ?
-
Windows64BitOSでVB5.0のPG起動
-
JP1から起動したexeでhttpリク...
-
JP1/File Transmission Server/...
-
matlabで作成したdllをVBAで使...
おすすめ情報