• 締切済み

ODBAパスワードをマクロに組みたい(Excel)

Excel2010のマクロでODBCのデータを拾ってきたいのですが、ODBCにアクセスする際、 パスワード入力を求められます。 パスワード入力もマクロ内に組みたいのですが、記述方法がわかりませんので、教え てください。 エクセルのマクロについての知識は、記録させたものを実行する、若干の記述変更が できるくらいで、VBAに関する知識はほぼ無いに等しいです。 記録させたマクロの記述は次のようになっています。(コピペではなく、プリントアウト を手入力してますので、誤記があるかもしれません。) 1. Sub Macro() 2. Cells Select 3. Selection ClearContents '上2行で取り込み済みのデータを全削除 4. With ActiveSheet. ListObjects. Add(SourseType:=0, Sourse:=Array(Array(_ 5. "ODBC;DNS=de-ta-be-su; UID=yu-za-ID ; ;DBQ=DE-TA-BA-SU;DBA=W;... (以下略) '上2行で取り込みの条件を記述(実際は数行) 6. .RowNumbers = False 7. .FillAdjacentFormulas = False 8. .PreserverFormatting = True 9. .RefreshOnFileOpen = False 10. .BackgroundQuery = True 11. .RefreshStyle = xllnserDeleteCells 12. .SavePassword = False 13. .SaveData = True 14. .AdjustColumnWidth = True 15. .RefreshPeriod = 0 16. .ListObject.DisplayName = 'テーブル_xxxxx_からのクエリ_1' 17. .Refresh BackgroundQuery:= False 18. End With 19. End Sub マクロを1行づつ実行すると17行目の記述を実行する際にODBCのパスワード入力を求め られる状態です(データベース名とユーザーIDは入力されている)。 5行目に PWD=pasuwa-do とか入れてみたのですがダメでした。 12行目をTrueにしてあげればいいのでしょうか? 又、13行目のSaveDataとはデータベース側を書き換えるって意味でしょうか?エクセル側 を書き換えるって意味でしょうか? 稚拙な文面でわかりづらいかもしれませんが、よろしくお願いいたします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

通常は5行目に "ODBC;DNS=de-ta-be-su; UID=yu-za-ID ; ;DBQ=DE-TA-BA-SU;DBA=W;... (以下略);PWD=pasuwa-do;" といった具合と思いますが。 savedata、savepasswordはlistobjectじゃなく多分querytableのメンバなので、そこの部分のマクロについては覚え間違い転記ミスじゃありませんか。 意味はオブジェクトブラウザからヘルプを確認すれば、いずれも説明されています。

関連するQ&A

専門家に質問してみよう