- PR -

Access2000の機能をExcelVBAで使用したい

1
投稿者投稿内容
ayu
会議室デビュー日: 2004/11/02
投稿数: 3
投稿日時: 2004-12-02 18:19
Access2000を使用した、業務用アプリケーションがあるのですが、
AccessをDBとしてのみ活用し、実行をExcelVBAに変更することになりました。
そこで
DoCmd.TransferText acImportFixed, "I定義", "DATA_I", txt_Input_Path
DoCmd.TransferText acExportDelim, "E定義", "DATA_I", StrOutPath
の処理をExcelVBAで書換えた場合はどうなるのでしょうか?
(こんなことができるかどうかも解かりません。)
ご存知の方いらっしゃいましたら宜しくお願い致します。
kakkun
会議室デビュー日: 2004/12/08
投稿数: 6
投稿日時: 2004-12-08 14:01
ExcelからAccessを操作するにはOLEオートメーションを使用すればできます。
Access経由で操作するのでAccessがインストールされている必要があります。
注意点としてはAccessで定義されている定数は全て数値や文字に変換する必要があります。
例:acImportFixed、acExportDelim

Accessが開きエクスポートできるところまでは下のソースで確認できました。
Function test()
Dim aa As Object
Set aa = CreateObject("Access.Application")
aa.OpenCurrentDatabase ("C:\デモ環境.mdb")
aa.Visible = True
aa.Docmd.TransferText 2, "EXP_TEST", "M_LC_BAK", "c:\M_LC_TEST.txt"
aa.Docmd.Close
Set aa = Nothing
End Function

私はあまり好きではないのですが、
この方法以外にもツールメニューから参照設定でAccessのType Liberaryを追加する方法もあります。
ayu
会議室デビュー日: 2004/11/02
投稿数: 3
投稿日時: 2004-12-08 14:17
kakkun様ありがとうございました。
表示された、ソース&参照設定でLiberaryを設定する方法でもImport確認できました。
1

スキルアップ/キャリアアップ(JOB@IT)