![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
-
4
CreateObjectとGetObjectの違い
Excel(エクセル)
-
5
Excel VBAでのGetObjectの使い方
Excel(エクセル)
-
6
VBAで既に開いている別アプリケーションのオブジェクトを得る
Visual Basic(VBA)
-
7
アクセスvbaでエクセルブックを保存
その他(Microsoft Office)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
10
ACCESSからexcelブックを開いて保存したい
Excel(エクセル)
-
11
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
-
12
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
13
Accessデータベースの最適化をExcelVBAでやりたい
その他(データベース)
-
14
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
15
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
16
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
17
[性能改善]AccessのDBに大量のデータをUpdateする場合の性能対策について
その他(データベース)
-
18
エクセルから現在起動しているアクセスファイルをアクティブにしたい
Access(アクセス)
-
19
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
20
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
VBAでワークブックの名前を変数...
-
エクセル 複数ファイルの一括...
-
エクセルマクロで不特定なファ...
-
エクセルのxls形式からxlsx形式...
-
vba初心者です。 質問です。 毎...
-
エクセルのマクロについて教え...
-
エクセルのシートの数を数えた...
-
フォルダ内のexcelファイルを順...
-
VBA ふたつの同じ様式シートの...
-
ファイル名を変更するマクロ
-
accessフォルダを移動したらフ...
-
フォルダ内のブック全部にパス...
-
ファイルの保存場所を変えたら...
-
ACCESS VBAでファイルを開くダ...
-
ACCESSのマクロを自動で実行さ...
-
エクセルVBA ユーザーフォーム...
-
EXCELマクロを無効にして開く方法
-
エクセルVBAで送る操作
-
エクセルで行列を入れ替えるを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
VBAでワークブックの名前を変数...
-
エクセルマクロで不特定なファ...
-
【マクロ】読取専用のファイル...
-
エクセルのxls形式からxlsx形式...
-
エクセルのシートの数を数えた...
-
フォルダ内のexcelファイルを順...
-
エクセル(マクロ)のファイル...
-
vlookup関数の引数を変数で指定...
-
エクセル 複数ファイルの一括...
-
ファイルを開かずにマクロを実行
-
フォルダ内のブック全部にパス...
-
【Excel VBA】ファイル名が一...
-
ファイルの保存場所を変えたら...
-
vba初心者です。 質問です。 毎...
-
Accessのaccdbファイルを起動で...
-
リンク切れチェックを行うマクロ
-
Excel VBA でファイルが開かれ...
-
エクセルマクロ 異なるファイ...
おすすめ情報