EC-CUBE管理画面に自動ログイン「ecCubeLogIn」の解説

こちらは、エクセルVBAでEC-CUBE管理画面に自動ログインする処理方法についての解説となります。VBAの知識がない方や自動再起動ツールをお求めの方には、無償で提供していますので「EC-CUBE自動ログインツール」よりダウンロードしてください。

前回、EC-CUBE管理画面の自動ログインについて説明してきましたが、今回は自動ログインのサブルーチン化について解説します。

スポンサー リンク

EC-CUBE管理画面に自動ログインのサブルーチン


Sub ecCubeLogin(objIE As InternetExplorer, _
        eccubeURL As String, _
        eccubeId As String, _
        eccubePass As String)

 'EC-CUBE管理画面を表示
 Call ieView(objIE, eccubeURL)

 Call formText(objIE, "login_id", eccubeId)

 Call formText(objIE, "password", eccubePass)

 Call tagClick(objIE, "a", "LOGIN")

End Sub

EC-CUBE管理画面に自動ログインのマクロ

Sub sample()

 Dim objIE As InternetExplorer

 Call ecCubeLogin(objIE, Range("eccubeurl"), Range("eccubeid"), Range("eccubepass"))

End Sub

実行結果

EC-CUBE管理画面の自動ログイン

今回もEC-CUBE本家サイトのデモ管理画面を利用させてもらいます。
ログインに必要なIDとパスワードは以下となります。

  • ID:admin
  • パスワード:password

引数は以下の4つが設定されています。

引数名データ型内容値の事例初期値省略
objIEInternetExplorerIEオブジェクトobjIE,objIE2×
eccubeURLStringEC-CUBE管理画面のURL文字列"http://demo.ec-cube.net/admin/"×
eccubeIdStringEC-CUBE管理画面のログインID文字列"admin"×
eccubePassStringEC-CUBE管理画面のログインパスワード文字列"password"×
ecCubeLogin("IEオブジェクト","EC-CUBE管理画面のURL文字列","EC-CUBE管理画面のログインID文字列","EC-CUBE管理画面のログインパスワード文字列")

「objIE」「eccubeURL」「eccubeId」「eccubePass」全て必須項目です。
、「objIE」は複数ページを表示させる場合に「objIE」「objIE2」と複数オブジェクトを生成します。
「eccubeURL」にはEC-CUBE管理画面のURL文字列を、「eccubeId」にはEC-CUBE管理画面のログインID文字列を、「eccubePass」にはEC-CUBE管理画面のログインパスワード文字列を設定します。

今回は、マクロ内に直接入力ではなく、セルにURL・ID・パスワードを設定し、そちらを読み込んでいます。
また、セルに名前定義を設定することで、カスタマイズでセル位置が変更になっても対応できるようにしています。

今回は以下のように名前定義を設定していますが、お好きな名前で設定してください。

Range("eccubeurl")=URL
Range("eccubeid")=ID
Range("eccubepass")=パスワード
EC-CUBE管理画面の自動ログイン2

Call ieView(objIE, eccubeURL)

まず、指定したURLをWebブラウザで表示させる「ieViewサブルーチン」を利用して、デモ版EC-CUBE管理画面を表示させます。
eccubeURLには管理画面のURLが設定されています。

ログインHTMLソース


<form name="form1" id="form1" method="post" action="?">
 <input type="hidden" name="transactionid" value="03464512eff7208376b9a9293d6aece406248980">
 <input type="hidden" name="mode" value="login"><p><label for="login_id">ID</label></p>
 <input type="text" name="login_id" size="20" class="box25"><p><label for="password">PASSWORD</label></p>
 <input type="password" name="password" size="20" class="box25">
<p><a class="btn-tool-format" href="javascript:;" onclick="document.form1.submit(); return false;"><span>LOGIN</span></a></p>
</form>

Call formText(objIE, "login_id", eccubeId)
Call formText(objIE, "password", eccubePass)

次にテキストボックス・テキストエリアに値を入力する「formTextサブルーチン」を利用して、name=login_idのテキストボックスに「admin」、name=passwordのテキストボックスに「password」を自動入力します。


Call tagClick(objIE, "a", "LOGIN")

最後に指定したタグをクリックする「tagClickサブルーチン」を利用して、aタグ内に「LOGIN」の文字列があるaタグをクリックします。
これでログイン完了となります。

こちらはセルに情報を変更することで様々なEC-CUBE管理画面へ自動ログインすることができます。
次にセキュリティの件ですが、ログインID・パスワードをそのままに保存するとデータが外部に漏れた場合に勝手にログインされてしまいます。
そのようなことがないように、ファイルを閉じるときにログインID・パスワードを削除し、保存する処理を追加します。

ログインID・パスワード削除のマクロ


Private Sub Workbook_BeforeClose(Cancel As Boolean)

 'ID・パスワード初期化
 Range("eccubeid") = ""
 Range("eccubepass") = ""

 'ブック保存
 ThisWorkbook.Save
    
End Sub

こちらでは「Workbook_BeforeCloseイベントマクロ」を利用しています。
こちらはファイルが閉じられるときに実行されるマクロで、ID・パスワードのセルを空白にし初期化しています。
その後にファイルを保存して閉じる処理
としています。
こちらを設定することで、常にID・パスワードが初期化された状態になるので、外部に漏れることはありません。
他にもファイル自体にパスワードを掛ける方法もありますが、ファイルのパスワードは裏技を使うと簡単に解除することができるので、データを残さない方が安全な方法と言えます。

ここまでログイン方法について説明しましたが、ログイン処理をするにはフォームで操作するか、シート上にコマンドボタンあるいはオートシェイプを利用してマクロを設定する方法があります。
フォーム設置は説明がややこしくなるので、次回の「EC-CUBEをVBAで管理する方法」ではシート上で処理をする方法について、解説していきます。

次の記事: VBAのIE操作でEC-CUBEを管理する方法 >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。