Excel VBAでWi-Fiルーターの自動キッティング

Wi-Fiルータを大量に設定する際、手作業で設定されていませんか?今回は、パソコンにWi-Fiルータをつなげて、Excel VBAを用いて自動的にキッティングができる方法を記載したいと思います。

はじめに

準備するものとして以下となります。今回の記事ではNEC製の「MR05LN」を使った記事となります。他のWi-Fiルータでも同じような処理をすることで実現可能です。

【機器】

  • パソコン
  • USBケーブル(Wi-Fiルータとの接続で必要)
  • Wi-Fiルータ(この記事ではMR05LNを使っています)

【ツール類】

  • Excel(この記事ではOffice 2016を使っています)
  • SeleniumBasic(VBAからChromeを操作するために使用)
  • Chromeブラウザ

VBAの設定

まず、パソコンにツール類の設定を行っていきましょう。ですが、すべてを説明すると長くなってしまうので、「SeleniumBasic」のインストールは割愛します。※別の記事で記載したいと思います。

1.VBEの参照設定

SeleniumBasicのインストールが完了したら、VBEの参照設定をします。

VBEの参照設定1

ツール>参照設定>「Selenium Type Library」にチェックをいれてください。

VBEの参照設定2

これで、VBAでSeleniumBasicが使用可能となります。

2.SeleniumBasicの動作確認

きちんとSeleniumBasicが動くかどうか試してみましょう。

Sub ChromeTEST()
 Rem Chromeドライバーの作成
	Dim Driver as New ChromeDriver

	Rem Googleへ接続
	Driver.Get "https://google.co.jp"

	stop

	Rem Chromeドライバーの開放
	Set Driver = nothing
End sub

上記プロシージャを動かしてみて、Chromeが自動的に立ち上がり、Googleサイトが開けば動作していることが確認取れます。

作業手順の確認

今回はWi-FiルータのAPN設定を自動化する手順を記載します。まずは、手動で設定をしてみて、どのような手順になっているか確認します。「MR05LN」の手順は以下の通りとなっていました。

※ファームウェアのバージョンによって実際とは異なる場合もありますので、実機で確認するのをおすすめします。

1.初期URLへ接続

ブラウザで初期URL(http://192.168.179.1/)へ接続

2.管理者パスワードの変更

管理者パスワードの変更を求められるので、必要に応じて変更します。

3.「設定」ボタンをクリック

管理者パスワードを設定するため、設定ボタンをクリックします

4.接続先設定画面へ遷移する

「基本設定」>「接続先設定(LTE/3G)をクリックし、APNの設定画面に遷移します

5.「編集」ボタンをクリック

一番上の編集画面をクリックし、編集画面へ遷移します

6.APN情報の入力

各項目にAPN情報を入力します。今回は以下を入力

  • サービス名:docomo mopera U
  • APN(接続先):mopera.net
  • 接続方式:IPv4

7.「設定」ボタンをクリック

設定した内容を保存するため、設定ボタンをクリックします

この手動で行った手順を、VBAでプログラミングすれば同じ動作が可能となり、手作業でのキッティングが不要となります。

VBAの作成

それでは、さっそくVBAを作成していきましょう。

1.初期URLへ接続

Driver.Get "http://192.168.179.1/"

2.管理者パスワードの設定

テキストボックスへの入力となります。セレクターを確認し、sendkeysメソッドでパスワードを設定しましょう。確認のテキストボックスもありますので、同じように設定します。

Driver.FindElementByCss("#INIT_PASSWD").SendKeys("test12345")
Driver.FindElementByCss("#INIT_RETRY_PASSWD").SendKeys("test12345")

3.「設定」ボタンをクリック

設定ボタンをクリックするには、clickメソッドを使います。

Driver.FindElementByCss("#UPDATE_BUTTON").Click

4.接続先設定画面へ遷移する

「基本設定」>「接続先設定(LTE/3G)」をクリックするプログラムを記載してもかまいませんが、ログインしている状態なので、設定画面のURLへ飛んだほうが効率的です。

Driver.Get "http://admin:test12345@192.168.179.1/index.cgi/wan_lte_main"

5.「編集」ボタンをクリック

こちらもクリックなので、clickメソッドを使います

Driver.FindElementByCss("#wan_lte_main > table:nth-child(3) > tbody > tr:nth-child(2) > td:nth-child(2) > a").Click

6.APN情報の入力

こちらもテキストボックスなので、sendkeysメソッドを使います。ただし、接続方式はプルダウンメニューなので、asselect.selectbyvalueメソッドを使います。

・サービス名
Driver.FindElementByCss("#DESCRIPTION").SendKeys ("docomo mopera U")
・APN(接続先)
Driver.FindElementByCss("#CONNECTION_APN").SendKeys ("mopera.net")
・接続方式
Driver.FindElementByCss("#IP_TYPE").AsSelect.SelectByValue ("IPv4")

7.「設定」ボタンをクリック

こちらもクリックなので、clickメソッドを使います。

Driver.FindElementByCss("#UPDATE_BUTTON").Click

8.オブジェクトの解放

最後にオブジェクトの解放をします。

Rem Chromeドライバーの開放
Set Driver = nothing

以上で、VBAの作成は完了となります。ただ、これだけでは設定しか完了していませんので、きちんと接続されているか動作確認を行ってください。また、Wi-FiルータのMACアドレスやシリアル番号などもスクレイピングで採取することも可能です。