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情報操作の目次

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

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

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

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

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

↑VBAのIE操作で分からない事があればこちらの掲示板よりご質問ください。

ExcelのVBA初心者入門

↑こちらはVBAをマスターできるよう初心者向けのエクセル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制御のVBAコード

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