変換.tokyo | henkan.tokyo

【VBS】ネットワークドライブを割り当てる

 
■【VBS】ネットワークドライブを割り当てる
 
今回はドライブマッピング設定のためのVBScriptをご紹介します。
下記のWebサイト「ネットワークドライブを割り当てる」を参考に作成しました。
http://www.whitire.com/vbs/tips0098.html

皆さんの中にも、例えばファイルサーバー上の共有フォルダにドライブマッピングをして利用されている方はいらっしゃると思います。
(起動時、ログオンスクリプトからマッピングさせたり...)
下記のサンプルコードはVBScriptを使ってのドライブマッピングの一例です。
また、ダウンロード用サンプルコードは、下記と同様のVBScriptを組み込んだ「HTAファイル」になります。
(簡易GUI付きのVBScript。ブラウザで開きます)

mapping1.png


■サンプルコード

Option Explicit
On Error Resume Next
Dim objWshNetwork ' WshNetwork オブジェクト
Dim strDrive ' ドライブ名
Dim strPubFolder ' 共有フォルダ名
Dim strUserName ' 接続するユーザー名
Dim strPassword ' パスワード
Set objWshNetwork = WScript.CreateObject("WScript.Network")
If Err.Number = 0 Then
strDrive = "Z:"
strPubFolder = "\\Comp01\Temp"
strUserName = "Administrator"
strPassword = "Password"
objWshNetwork.MapNetworkDrive strDrive, strPubFolder, _
True, strUserName, strPassword
If Err.Number = 0 Then
WScript.Echo strDrive & " ドライブに " & _
strPubFolder & " を割り当てました。"
Else
WScript.Echo "エラー: " & Err.Description
End If
Else
WScript.Echo "エラー: " & Err.Description
End If
Set objWshNetwork = Nothing


■サンプルVBSダウンロード
こちらから


■VBSを作成するのに参考となる書籍
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

VBScriptポケットリファレンス改訂版 (Pocket reference) [ アンク ]
価格:2030円(税込、送料無料) (2018/9/15時点)

楽天で購入


【Excel VBA】リストの差分を抽出する(重複しない一意の値を表示する)


■【Excel VBA】リストの差分を抽出する(重複しない一意の値を表示する)

Excelシート上の2つのリストを比較し、「相互の差分を抽出したい!」な〜んていうことはありませんか?
この程度でしたら、本来はVBAを使わなくても出来ますが…

今回はこちらのWebサイト「2つの列の差分を求める(重複しない一意の値を求める)」を参考に作成してみました。
https://hamachan.info/win8/excel/sabun.html

ポイントは、重複値に対する条件付き書式(一意)である「.DupeUnique = xlUnique」です。

VBA_Difference_comparison.png


■サンプルコード

Sub Difference_comparison()
Range("A2:B200").Select
Selection.FormatConditions.AddUniqueValues
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).DupeUnique = xlUnique

'フォントを濃い赤に、セルの背景は薄い赤に設定
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub


■サンプルVBAダウンロード


■VBA開発に参考となる書籍
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

入門者のExcel VBA 初めての人にベストな学び方 (ブルーバックス) [ 立山秀利 ]
価格:1058円(税込、送料無料) (2018/10/1時点)

楽天で購入

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

たった1日で即戦力になるExcelの教科書 [ 吉田拳 ]
価格:1922円(税込、送料無料) (2018/10/1時点)

楽天で購入


【VBS】メールを送信するサンプルコード

 
■【VBS】メールを送信するサンプルコード

今回はWebサイト「CDO.Messageによるメール送信」を参考に作成しました。
http://serialty.blog117.fc2.com/blog-entry-10.html

突然ですが、皆さんなら、メールを送信するプログラムをどのように実装されますか?

コマンドからメール送信を可能にするミドルウェアなんかもありますが、サーバーやクライアントへモジュールをインストールすることなく、簡単にメールを送る方法があります。
この方法を使えば、例えばVBSのようなスクリプトからでも、メールの送信は可能です。

今回は、@Office365などの認証を利用する場合と、AGmailの認証を利用する場合 の2つをご紹介します♪
また、ダウンロード可能なサンプルコードをご用意しました。
こちらはHTAファイル(ブラウザ上で実行されます)でご提供します♪

sample_Mail_send.png


■サンプルコード@

Set objMail = CreateObject("CDO.Message")

objMail.From = "user-from@office365.com"
objMail.To = "user-to@office365.com"
objMail.Subject = "メール送信テスト"
objMail.TextBody = "CDO.Messageによるメール送信テスト"
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.office365.com"
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "user-from@office365.com"
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "passwrd"
objMail.Configuration.Fields.Update

objMail.Send
Set objMail = Nothing


■サンプルコードA

Set objMail = CreateObject("CDO.Message")

objMail.From = "user-from@gmail.com"
objMail.To = "user-to@gmail.com"
objMail.Subject = "SMTP認証、SSL通信によるメール送信テスト"
objMail.TextBody = "CDO.Messageを利用したSMTP認証、SSL通信によるメール送信テスト"
strConfigurationField ="http://schemas.microsoft.com/cdo/configuration/"
With objMail.Configuration.Fields
.Item(strConfigurationField & "sendusing") = 2
.Item(strConfigurationField & "smtpserver") = "smtp.googlemail.com"
.Item(strConfigurationField & "smtpserverport") = 465
.Item(strConfigurationField & "smtpusessl") = True
.Item(strConfigurationField & "smtpauthenticate") = 1
.Item(strConfigurationField & "sendusername") = "user-from@gmail.com"
.Item(strConfigurationField & "sendpassword") = "password"
.Item(strConfigurationField & "smtpconnectiontimeout") = 60
.Update
end With

objMail.Send
Set objMail = Nothing


■サンプルVBSダウンロード
こちらから


■VBSを作成するのに参考となる書籍
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

VBScriptポケットリファレンス改訂版 (Pocket reference) [ アンク ]
価格:2030円(税込、送料無料) (2018/9/15時点)

楽天で購入