
No.2ベストアンサー
- 回答日時:
こんにちは。
Accessで使っているとき、マクロ側でExcelが起動されていることがあるのでしたら、GetObjectも考慮に入れたほうがよいのかもしれませんね。
それを考慮しなければ、オートメーション・オブジェクトは、
Set xlApp = CreateObject("Excel.Application")
だけでよいです。
'GetObject をお使いの場合は、
Dim xlApp As Object
Const MYPATH As String = "○○○"
Const FILENAME As String ="××××"
'
'オートメーション・オブジェクトの生成
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application") '起動済Excelの取得
If TypeName(xlApp) = "Empty" Then
'起動済Excelが無い時新規作成
Set xlApp = CreateObject("Excel.Application")
End If
On Error goto 0
'
xlApp.Visible = True 'どちらでも可
With xlApp.Workbooks.Open(MYPATH & "\" & FILENAME)
.Worksheets("Sheet1").Select
'作業
.Close False
End With
'以下を忘れると、後々、悲惨なフリーズの原因です。
Set xlApp = Nothing
'
でも、
例えば、Excelを開いて加工するのでなければ、このような方法もありかと思います。(myTableにインポートする)
DoCmd.TransferSpreadsheet acImport, , "myTable", MYPATH & "\"FILENAME", True, "Sheet1!A1:D50
'
詳細な説明ありがとうございます。
複数のファイルからデータを集めてデータベース化するマクロを作っています。
下のデータが全くTableを意識したフォーマットになってないので、隠せるから一つづつ値をとる方法をとってます・・・。
#本題からはそれますが、実は一つ目のファイルを開いた後二つ目を開こうとしたところでエラーが出て頭を抱えてます。Set xlApp = Nothingはちゃんとしてるのですけど・・・。
エラーメッセージは以下のとおり。
実行時エラー'7'
メモリーが不足しています。
もともとDDEでデータを取っていたのですが、ファイルが開きっぱなしになるのと、他でGetObjectを使っているので全体的な統一を取るためにGetObjectで書き直しをしてます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】変数に入れるコード...
-
エクセルマクロで不特定なファ...
-
データ参照先が別ファイルの場...
-
エクセル 複数ファイルの一括...
-
【Excel VBA】ファイル名が一...
-
VBAでワークブックの名前を変数...
-
accessフォルダを移動したらフ...
-
【マクロ】名前を保存する際に...
-
複数のエクセルファイルに対し...
-
VBA リストボックスの連動方法...
-
vba dirにおけるフォルダ内にあ...
-
Excelマクロで教えて下さい。 ...
-
Excelのマクロについてご教授く...
-
word2007ファイル起動時のSQLに...
-
EXCEL VBA 指定したファイルが...
-
エクセル(マクロ)のファイル...
-
エクセルのシートの数を数えた...
-
フォルダ内のexcelファイルを順...
-
VBAで開いているファイルの...
-
Accessのaccdbファイルを起動で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】変数に入れるコード...
-
【マクロ】EXCELで読込したCSV...
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
フォルダ内のexcelファイルを順...
-
エクセルマクロで不特定なファ...
-
【Excel VBA】ファイル名が一...
-
ファイルを開かずにマクロを実行
-
エクセル 複数ファイルの一括...
-
accessフォルダを移動したらフ...
-
ファイルの保存場所を変えたら...
-
データ参照先が別ファイルの場...
-
VBAでワークブックの名前を変数...
-
EXCELマクロを無効にして開く方法
-
フォルダ内のブック全部にパス...
-
エクセル(マクロ)のファイル...
-
エクセルファイルを開く時、関...
-
秀丸:あらかじめ設定した複数...
-
Excelのマクロでファイルを開く...
-
EXCEL VBAで作成した ファイル...
おすすめ情報