|
はじめて、投稿させていただきます。
現在、Win環境で作っていた、SQLを用いたExcel内の値の検索を、
Excel for Mac 2011上でも実行させたいのです。
調べてみたのですが、分からなく、こちらの質問箱にたどり着きました。
自分のわかっていると思っている事は、
@Excel for Mac 2011用のODBCドライバーのインストールが必要
AActiveXコントロールは使えない
@のインストールに関しては、Microsoftの「Excel for Mac 互換 ODBC ドライバー」の場所までたどり着いたのですが、
その先の英語がわからなく、どうインストールしたらいいのか分からない状態です。
Aの使えないということに関しては、ActiveXコントロールがサポートされていないという記述を見つけたのですが、
使えなくても問題ないという認識でおります。
この検索プログラムをExcel for macでも実行されるようにしたいですが、ご教示いただけませんでしょうか。
よろしくお願いいたします。
※大変申し訳ございません。仕事の状況が不安定なため反応が遅くなります。
下記にWinで実行しているコードを載せさせていただきます。
'******************************
'データベース処理(検索)
'******************************
Private Sub CommandButton1_Click()
On Error GoTo Error_Handling
'変数定義
Dim cn As Object
Dim rs As Object
Dim vSQL As Variant
'コネクションオブジェクト作成
Set cn = CreateObject("ADODB.Connection")
'レコードセットオブジェクト作成
Set rs = CreateObject("ADODB.Recordset")
'-------------------
' 対象Excelオープン
'-------------------
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Properties("Extended Properties") = "Excel 12.0;HDR=YES;IMEX=1"
.Open ThisWorkbook.FullName
End With
'---------------------------
' SQL作成
'---------------------------
vSQL = "select "
'抽出項目のセット
vSQL = vSQL & "[CustomerList$].顧客No, [CustomerList$].顧客名, [CustomerList$].コキャクメイ, [CustomerList$].UpdateUserName "
'抽出先テーブル名のセット
vSQL = vSQL & "from [CustomerList$] "
'抽出条件
vSQL = vSQL & "where [CustomerList$].UpdateUserName = 'ひつじ'"
'---------------------------
' SELECT結果->Sheet貼り付け
'---------------------------
'SQL実行
Set rs = cn.Execute(vSQL)
'指定シートに貼り付け
Worksheets("検索シート").Range("A6").CopyFromRecordset rs
'******************************
'エラー処理(終了処理)
'******************************
Error_Handling:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
'開放
Set rs = Nothing
Set cn = Nothing
MsgBox "処理完了"
End Sub
|
|