ある日、突然に、Excel上に現れた、パソコンログイン時にユーザー名。
これは、どのようにやったのか、不明な日が続いていました。
初めて見るコードでしたので、紹介したいと思います。
目次
WshNetwork
こんにちは。伊川(@naonaoke)です。
WshNetwork(ウィンドウズ・スクリプティング・ホスト・ネットワーク)
この、コードは、知りませんでした。
VBAを勉強するたびに、知らないことがあり、新たな発見があることがうれしい毎日です。
このコードは、4ヶ月間、ずっと疑問でした。
作成したのでは、派遣さんでしたが、きっと、すごいスキルを持っていたような気がします。
このコードがバグったために、修正をしなければならに状態になりました。
このブログはこんな人にお勧め
- WshNetworkをしらない人
- VBAを勉強している人
- PCのユーザー名や、PC名を取得したい人
このブログを、読み終わるころには・・・・
VBAを勉強していると、自分の業務に固執しがちになり、新しいコードを見る機会が少なくなります。新しいコードを見ることで、刺激になるとおもいます。
VBAには、色々可能性があります。
Excelを利用するには、ユーザー名が必要
私の会社では、Excelを利用するのに、ユーザー名が必要なのです。
わずか、6文字のIDを入力するのが面倒ということで、このコードを作成したのでしょう。
- ComputerName
- UserDomain
- UserName
上記の3つの値を返してくれます。
その外にも、ネットワークドライブの接続、切断、ネットワークプリンタの接続、切断ができます。
この点については割愛します。
ユーザー名を取得 作業手順 その1 参照設定をする
Windows Script Host Object Model にチェックを入れます。
チェックを入れなくてもいいのですが、余計なコードを記載しなければならないので、今回はチェックを入れます。
ユーザー名を取得 作業手順 その2 ユーザー名等を取得する
しかし、何がうれしいって、知らないことを覚えたときがうれしいですね。
この、WshNetworkは、逆引きにも記載がありませんでした。
果たして、派遣の人は、このようなことを、いつ覚えたのか、興味津々になりました。
ユーザー名を取得 作業手順 その3 ログインフォームを作成
以前、ACCESSでログインフォームを作成するにはどうしたらいいですか?と質問を頂きました。
このようにして、ログインフォームを作成することが可能です。
但し、相手側のユーザー名を調べる必要があります。
ユーザー名を取得 作業手順 その4 番外編
私は、競馬のファイルを販売しています。
きっと、善人の人が購入してくれていると思っています。
しかし、私がPWを設定しているのは、圧縮のパスワードで、いったんPWを入力されて、第三者に譲渡すると終わりです。
つまり、購入しなくても利用できてしまいます。
このようなことを防止するには、どのようにするのだろうか?
これをいつも考えていました。
WshNetworkで、VBAで、色々なことを操作できるということを理解できた日でした。
ここがポイント
VBAを勉強して、もう3年近くになりますが、知らないことはたくさんあると思いました。やっぱり、SEと、素人では、雲泥の差があると思います。しかし、努力をやめては、いけません。その瞬間に、素人確定です。
まとめ
動画とブログを発信して、約3年になります。
しかし、ネタは尽きないものですね。
これからも頑張って発信していこうと思いました。
今回も最後まで読んでいただき、ありがとうございました。
今回のサンプルファイルは、No221です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。