エクセルからWordPress のデータベースにアクセスする方法(後編)

, ,

エクセルからWordPress のデータベースを編集、更新したくて「MySQL」用の「ODBCドライバ」を利用してデータベースに接続してみました!後編ではデータベースに接続し、SQLを実行します。
前編はこちら
「MySQL」用の「ODBCドライバ」のインストールはこちら

データベースに接続

ADOを使い「MySQL」データベースを開きます。

Dim objADO
Dim srvName, dbName, dbPort, loginName, loginPass
 
srvName = Sheet2.Cells(6, 2)
dbName = Sheet2.Cells(7, 2)
dbPort = Sheet2.Cells(8, 2)
loginName = Sheet2.Cells(9, 2)
loginPass = Sheet2.Cells(10, 2)
 
'ADOを使いMySQLのDBを開く
Set objADO = CreateObject("ADODB.Connection")
objADO.Open "Driver={MySQL ODBC 5.3 Unicode Driver};" & _
            "server=" & srvName & "; port=" & dbPort & "; database=" & dbName & "; uid=" & loginName & "; pwd=" & loginPass & ";"

SQLを実行

とりあえず、オプション設定の一覧でも取得してみたいと思います。

Dim query
Dim objRS
query = "select * from (テーブルの接頭語 + )options"
Set objRS = objADO.Execute("" & query & "")
シートに実行結果を出力

結果を「Sheet1」という名前のシートに出力します。

Dim a
a = 1
Do Until objRS.EOF = True
    Sheet1.Cells(a, 1) = objRS("option_id")
    Sheet1.Cells(a, 2) = objRS("option_name")
    Sheet1.Cells(a, 3) = objRS("option_value")
    Sheet1.Cells(a, 4) = objRS("autoload")
    objRS.MoveNext
    a = a + 1
Loop
「Tera Term」を終了

「Tera Term」に「exit」という文字と「ENTER」キーを送り、その他諸々終了していきます。

objADO.Close
Set objADO = Nothing
Set objRS = Nothing

'「Tera Term」をアクティブに。
AppActivate "" & Sheet2.Cells(1, 2) & ":22 - Tera Term VT"
'「exit」という文字を送信。
Application.SendKeys "exit"
'「ENTER」キーを送信。「SendKeys」の場合、「~」が「ENTER」。
Application.SendKeys "~"

Set objTTL = Nothing

サンプルでは、オプション設定の一覧を表示させているだけですが、実際は独自の商品マスタテーブルのようなものを作成し、商品の追加、削除、表示価格の変更などをエクセルから更新できるような仕組みを作りました。他にも色々な使い方が出来そうな気がします。

自己紹介

松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか…

とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。

「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。

現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。

現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です