こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

net useのユーザー名を変数で通したい

Accessの超初心者です。

Accessでフォームとテーブルを2つのファイルに分け、テーブルのmdeファイルはユーザー認証付の共有フォルダ(NAS)上に置き、フォームのmdbファイルは使用者数名に配布し、リンクテーブルで共有フォルダ上のmdeファイルに接続したいと思っています。

共有フォルダのユーザー認証はVBAでnet useコマンドを使用すれば接続できると分かり、ログインフォームに追加することができました。

ですが、ログインフォーム上にユーザー名を入力するテキストボックスを配置し、その入力内容をnet useコマンドに渡したく下記のVBAを書いてみましたが、共有フォルダにログインできない状態です。

Dim UserName As String

UserName = Me.ユーザー名

Set myWSH = CreateObject("WScript.Shell")
myWSH.Run "net use ファイルパス パスワード /User:UserName"

変数UserNameをダブルクォーター等々で囲わなければならないと思い色々試してみた
のですが、共有フォルダのユーザー認証が通らずご教授の程、よろしくお願い致します。

投稿日時 - 2011-11-21 23:33:52

QNo.7147236

困ってます

質問者が選んだベストアンサー

> myWSH.Run "net use ファイルパス パスワード /User:UserName"

WScript.Shell の Run 命令に、"net use ~" の文字列を渡して実行してもらう。
なのですが・・・・
この書き方だと "~ /User:UserName" と、変数名をそのまま文字列として渡しています。
変数に格納された文字列(ユーザー名)を使用したいなら、

 myWSH.Run "net use ファイルパス パスワード /User:" & UserName

ですね。

投稿日時 - 2011-11-22 11:12:15

お礼

遅くなりまして申し訳ございません。

共有フォルダへログインすることが出来ました。
ログイン出来ない理由まで添えて頂きありがとうございます。
以後精進します。

投稿日時 - 2011-11-23 00:52:53

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問