- ベストアンサー
VB6.0でネットワークドライブの接続・切断
VBから、ネットワークドライブにフォルダを作ろうとしたのですが、ネットワークドライブが割り当てられていない為、エラーが返ってきてしまします。 ネットワークドライブの割り当てを行うAPIは分かったのですが、それでは割り当てを要求するダイアログが表示されてしまいます。 ソフトを使用する人間の殆どがパソコンのことを殆ど分からない人ばかりなので、ネットワークドライブの割り当てと切断を自動的に行えるようにしたいと思っています。 そして、自動的に割り当てられたパスの先に任意のフォルダを作成するプログラムを作成したいのです。 ・ネットワークドライブの自動割当・切断方法 ・割り当てられたパスの取得方法 以上の二つが分かる方、お願い致します。 +++ 開発環境 +++ ・VB6.0 ・Windows2000
- xyz0108f
- お礼率93% (122/131)
- Visual Basic
- 回答数6
- ありがとう数6
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
Option Explicit Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long Private Const DRIVE_UNKNOWN As Long = 0& 'ドライブの判別が出来ない Private Const DRIVE_NO_ROOT_DIR As Long = 1& '指定のルートディレクトリが存在しない。 Private Const DRIVE_REMOVABLE As Long = 2& '交換可能なドライブ (フロッピーディスク等) Private Const DRIVE_FIXED As Long = 3& '固定ドライブ Private Const DRIVE_REMOTE As Long = 4& 'ネットワークドライブ Private Const DRIVE_CDROM As Long = 5& 'CD -ROM Private Const DRIVE_RAMDISK As Long = 6& 'RAM ディスク Sub Main() Dim i As Integer Dim lngSts As Long Dim strDrive As String Dim strValue As String For i = Asc("A") To Asc("Z") strDrive = Chr(i) & ":\" lngSts = GetDriveType(strDrive) Select Case lngSts Case DRIVE_UNKNOWN: strValue = strDrive & ":判別出来ない。" Case DRIVE_NO_ROOT_DIR: strValue = strDrive & ":存在しない" Case DRIVE_CDROM: strValue = strDrive & ":CD-ROM" Case DRIVE_FIXED: strValue = strDrive & ":固定ドライブ" Case DRIVE_RAMDISK: strValue = strDrive & ":RAM ディスク" Case DRIVE_REMOTE: strValue = strDrive & ":ネットワークドライブ" Case DRIVE_REMOVABLE: strValue = strDrive & ":交換可能なドライブ (フロッピーディスク等)" End Select Debug.Print strValue Next i End Sub あとは WNetAddConnection2 WNetCancelConnection2 を使用
その他の回答 (5)
以前、WSH(Windows Script Host)を利用してネットワークドライブ割り当てをしたことがあります。 MapNetworkDriveメソッドを用い、Zドライブから試してみて、エラーだったらY、X、W、V、、と試すという荒っぽいやり方ですが。 使い方は、参照設定をして、CreateObject、、です。 参考URL http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/vtoriMicrosoftWindowsScriptTechnologies.asp
お礼
回答ありがとうございました。 ドライブを試していくとかいうこともできるんですね。 一度URL見てみますね。 でもそれって、時間とかどうなんでしょう?既にネットワークドライブの割り当てがしてあるものはエラーが帰ってくるのかな?? ちょっと一度試してみますね。 ありがとうございました~
- Gin_F
- ベストアンサー率63% (286/453)
> ・ネットワークドライブの自動割当・切断方法 > ・割り当てられたパスの取得方法 ご質問は、2つでしたね。 逆の手順になると思います。 割り当てた後に、パスを取得するのではなく、割り当てるために パスの指定をしないとダメですね。 ChDrive とかを使うなり、FilsSystemObject を使うなりであいている ドライブを探すか、通常、割り当てられないようなドライブを固定で 使うかになると思います。( Z: とか)
お礼
そうなんですよね。空いているドライブも探したいんですよ。私の会社ではZとかPとか使っているようなので、確実に空いているドライブを探さないとダメなのですよ~。 空いているドライブを探す方法を教えてくださって有難うございました。参考にします。 あと問題は自動割当・切断ですね…。 中々難しいのでしょうか………
- Gin_F
- ベストアンサー率63% (286/453)
> 参考URLの先の表示が見れなかったので、 失礼しました。。(^^ゞ 今度は大丈夫だと思います。
- 参考URL:
- http://www.microsoft.com/japan/technet/prodtechnol/windowsserver2003/proddocs/standard/ctasks004.asp
お礼
わざわさ有難うございました。 一度見てみますね。
- R-Fuji
- ベストアンサー率40% (18/45)
私は普通にShellコマンドからnet useを叩いて割り当ててました。 他に良い方法があるかもしれませんが次点として参考にしてください。
お礼
有難うございました。 こういう方法もあるのですね。 ちょっと参考にして考えてみます。
- Gin_F
- ベストアンサー率63% (286/453)
MSのサイトに以下のようなものがあります。 ログオン スクリプトを作成する
お礼
さっそくの回答有難うございました。 しかし、参考URLの先の表示が見れなかったので、MSのどこからたどっていけば見れるのか教えてくださると助かります。
関連するQ&A
- 「切断したネットワークドライブ」ができてしまう
WinXPのpro SP2 を使用しています。 「Yドライブ」「Zドライブ」にネットワークドライブを割り当てています。 昨日から、PC起動し、数分後 「切断したネットワークドライブ」がT~Xまでずらぁーーと勝手に出来てしまって困っています。 切断しようにも、「ネットワーク接続が見つかりませんでした」とメッセージがでて消えません。 その出来たT~Xのドライブの中は、Yに割り当てたフォルダの内容が表示されています。 PCを再起動すると、一旦消えるのですが、また数分後復活してしまいます・・・。 そして、1時間経ったあたりからO~Sドライブが同じように勝手に出来てしまうんです。 ttp://dell-support.okwave.jp/qa1300939.html ↑ この質問と同じような現象なんですが、変化無しです。 再度割り当てしようにも、割り当ての設定画面(ダイアログ?)にはO~Xが居ない状態です・・・。 エクスプローラー(マイコンピュータ)には、存在し、中も見れる状態です。 ウィルススキャンも行いましたが、検出されませんでした。 どうにか、削除する方法はないでしょうか? よろしくお願いします。
- 締切済み
- Windows XP
- ネットワークドライブの割り当てができません
ネットワークドライブの割り当てを行おうと思い 「ネットワークドライブの割り当て」ダイアログボックスが でてくるまではできますが、その後、 「フォルダ参照」をして、新しいフォルダを作成することができません。 どのような原因が考えられますか。 よろしくお願いいたします。
- 締切済み
- Windows Vista
- VB2008でネットワークドライブが切断されます
勤務先で次のような構成でLANを組んでいてVB2008パソコンだけがネットワークドライブが切断されてしまい困っています。よろしくお願いします。 【ネットワーク構成】 ファイルサーバー:Win2000 server クライアント:WinXP/VB2008 2台、WinXP/kasperskyAV6 3台、WinXP/NortonAV2008 1台、WinXP/KasperskyIS(試用)1台、Win2000/kasperskyAV6 2台 【現象】 1)VB2008の1台については以前はVB2007を使用していて問題はありませんでしたがVB2008にしてからサーバーに接続しているプリンターが時々使用不能になるという訴えがありました。このパソコンはファイル共有をあまり使用していなかったためネットワークドライブの切断とは気づかず今日まで使ってきました。 2)最近になって新しいWinXPパソコンにVB2008をインストールして各種設定調整中にネットワークドライブが頻繁に切断されることに気づき、1)も同じ原因であろうことが分かってきました。(9台のパソコン全てIPアドレスは固定です。他の7台にトラブルは発生していません) 【詳細】 1)ネットワークドライブの接続をしようとしても「ネットワークパスがみつかりません」のようなメッセージが出て不可。VB2008を「終了」して接続を試みるとネットワークドライブの接続に成功しますがしばらく使用していると切断されています。またパソコンを再起動させるとネットワークドライブが認識できないまま立ち上がります。 2)VB2008のファイアーウオールは「家庭内ネットワーク2」を使用しています。VB2007の時はこれで問題ありませんでした。最近になって「社内ネットワーク」に変更してもトラブルは解消しません。 3)これらの現象からVB2008のファイアーウオールが原因だあろう事が想像されますがこの解決についてアドバイスいただけたら有り難いです。
- 締切済み
- ネットワーク
- 切断されたネットワークドライブの再接続
WinXPの端末に接続し、共有化しているDVDドライブを Win2003の端末でネットワークドライブとして設定しています。 ただ、起動する順番がWin2003→XPの順の為、 Win2003のネットワークドライブには常に赤い×がついている状態です。 OpenやDir関数を使用する際、アクセスできずエラーとなってしまいます。 ・VBコマンドやAPI関数に、切断されたネットワークドライブに 再接続を行うようなものがあるのか? ・Win2003側に、ネットワークドライブの状態をリアルタイムに 取得できる設定があるのか? 回答お願い致します。
- ベストアンサー
- Visual Basic
- ネットワークドライブの切断?
Windows2000proを使っています。 時々サーバーのファイルが必要になるのでネットワークドライブの割り当てを実行して簡単に出来るようにしていましたが、あるときそのフォルダに保存しようとしたら切断されていました。頻繁ではないのですが気が付いたら切断されているという感じです。ドメイン環境に参加しているのでログインするときはローカルにログインしたり、ドメインにログインしたりしています。これが原因しているのかな?どのような条件で切断されるのかご存知の方教えてください。 ちなみにサーバーはNT4.0でフォルダは共有で権限はEveryOneにしています。 お願いします。
- 締切済み
- Windows NT・2000
- ネットワークドライブの割りあてが。。。接続できませんでしたと・・・
WINXPでネットワークドライブの割り当てを 設定し、再起動すると・・・・ ネットワークドライブに接続できませんでした・・・ とコメントが返ってきます・・・ でも、他のPCにはきちんと接続されています。 再起動するといちいち ネットワークドライブの割り当てが 切断されちゃうってことってありえるのでしょうか? また。。。この解消法をぜひぜひ 教えて下さい!おねがいしまぁ~す
- 締切済み
- Windows XP
- ネットワークドライブのファイル
WINDOWS7PROからI-OデータのNASのLANDISKに接続しています。 起動後、ネットワークドライブの割り当てをしたドライブに再接続してフォルダを開くと、ファイルのアイコンにグレーのバツがついていてます。 ダブルクリックで実行するとエラーになり開くことが出来ません。 ネットワークドライブは資格情報マネージャーでエンタープライズになっています。 ネットワークドライブを切断して新たにネットワークからユーザー名とパスを入力するとフォルダ以下のファイルは正常に起動できます。 どこを修正すれば良いのでしょうか。 よろしくお願いします。
- 締切済み
- Windows 7
- ネットワークドライブの割り当てとフルパスの説明がうまくできなくて困って
ネットワークドライブの割り当てとフルパスの説明がうまくできなくて困っています。 まず、フルパス。ドライブの割り当ての際フルパスが必要ですが、パソコンに慣れていない人に対して電話越しにフルパスを求めるのが難しいです。 それからドライブの割り当て。これは目的のフォルダもしくはファイルまでの最短ルートをつけてあげる、というような説明でいいのでしょうか。 よろしくお願いします。
- 締切済み
- Windows XP
- ネットワークドライブ割り当ての履歴の削除
WindowXPです。 ネットワークのフォルダーをドライブ割り当てすると、過去のに割り当てた履歴が残ります。 デスクトップ マイネットワーク 右クリック ネットワークドライブの割り当て フォルダーのリストの▼を押したときに出てくるLANに接続される他のPCの特定のフォルダーのパス名です。 この履歴を削除する方法を是非教えてください。 よろしくお願いします。
- ベストアンサー
- その他(ITシステム運用・管理)
- ネットワークドライブ
ドメインに参加している端末から、ローカルの端末のDドライブを割り当てるようなバッチを作成しました。しかし、バッチを実行すると下記メッセージが出力されます。 ”現在、指定されたネットワーク フォルダは異なるユーザー名とパスワードを使って割り当てられています。異なるユーザー名とパスワードを使って接続するには、最初に現在のネットワーク共有の割り当てをすべて切断してください。” ネットワークドライブは一切割り当てていないので、原因が不明です。どなたか教えて下さい。
- ベストアンサー
- その他(プログラミング・開発)
お礼
ソースの記述&URL有難うございました。 今別の仕事が入ってしまったので、後で試してみようと思います。 有難うございました~。