■
[Oracleがない場合]
インスタントクライアント32ビット(Basic、odbc、sqlplusをダウンロードし、解凍して同じフォルダに入れて、odbc.exeを起動する。またはPathにフォルダを追加する。(?)
[1]
c:\Windows\SysWOW64\odbcad32.exe
を起動。
[2]
システムDSNに追加。
Oracle in OraClient11g_home1
(SQDORA32.DLL)
[3]
データソース:****
(アクセスするためのソース名を指定する)
サービス名:localhost:1521/XE
(expressの場合)
ユーザID:****
(アクセスするテーブルのユーザ名)
[4]
「Test Connection」でユーザのパスワードを入力し、アクセスできることを確認して登録完了。
[5]
デスクトップでテキストファイルを作成。
名前の変更
test.udl
[6]
ダブルクリックして起動。
Oracle Provider for OLE DB
データソース:localhost:1521/XE
ユーザ名:****
パスワード:****
接続テストで接続できることを確認。
パスワードを保存するにチェックしてOK.
[7]
テキストエディタで開く。
Provider=OraOLEDB.Oracle.1;Password=****;Persist Security Info=True;User ID=****;Data Source=localhost:1521/XE
となっている。これは64ビット版の設定のため、Excel(32ビット)からは使えなかった。
[8]
Excelを起動。
ファイルのオプションで、リボンのメニューに[開発]を表示させる。
デザインモードでボタンを追加。
ダブルクリックして接続するコードを記述。(32ビットのシステムDSNに登録したサービスにアクセスする)
Dim test As String
test = "Provider=MSDASQL;Password=****;Persist Security Info=True;User ID=****;Data Source=****"
Dim con As New ADODB.Connection
Call con.Open(test)
Dim sql As String
sql = "SELECT ***, ***, *** FROM ***"
Dim Rst As New ADODB.Recordset
Set Rst = con.Execute(sql)
Range("A1").CopyFromRecordset Rst
[9]
ツール>参照
Microsoft ActiveX Data Object 6.1 Library
Microsoft ActiveX Data Object Recordset
[メモ]
・Alt + F11 でVBAを起動。
・Shift + F2 でコード定義。Shift + Ctrl + F2 で戻る
・日付を選択するカレンダーを作成
http://ateitexe.com/excel-vba-calendar-control/
・行番号を表示するアドイン、XMLコメントを追加するアドイン
http://homepage1.nifty.com/mtj-k/software/office_vb6/index.html
・エディタ背景色の変更(黒板)
http://www.moug.net/tech/exvba/0150130.html
管理者権限でコマンドプロンプトを起動。
DLLをコピーして実行。
C:\Windows\SysWOW64>regsvr32.exe VB6IDEAddXMLCommentAddin.dll
C:\Windows\SysWOW64>regsvr32.exe VB6IDEAddLineNumbersAddin.dll
・オラクルのテーブル作成
http://d.hatena.ne.jp/replication/20121119/1353300326
・Insert文
http://www.atmarkit.co.jp/ait/articles/0104/11/news002.html