Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1867 / 2272 ツリー ←次へ | 前へ→

【4904】ACCESSからエクセルを操作する方法 よしあき 05/4/15(金) 15:17 質問[未読]
【4905】Re:ACCESSからエクセルを操作する方... 小僧 05/4/15(金) 17:21 回答[未読]

【4904】ACCESSからエクセルを操作する方法
質問  よしあき  - 05/4/15(金) 15:17 -

引用なし
パスワード
   宜しくお願いします。

(1)ACCESSのフォームをクリックして、抽出されたデータをエクセルに出力(マクロでやってます)
(2)抽出されたデータを、エクセル上で、セル幅や項目変更等を、手動にて行っています。


この、(2)の処理を、エクセルのマクロを用いて行いたいのですが、ACCESSからエクセルのマクロ操作は可能なのでしょうか?

恥ずかしながら、私、VBAを知らない者で、ご存知の方がいらっしゃいましたら、宜しくお願い致します。

【4905】Re:ACCESSからエクセルを操作する方...
回答  小僧  - 05/4/15(金) 17:21 -

引用なし
パスワード
   ▼よしあき さん:
こんにちは。

Excelの標準モジュールに書かれたマクロ(VBAのコード)であれば、
以下のコードでAccess側から実行する事は可能です。

Function MacroRun()
Dim xlsApp As Object
Dim xlsWkb As Object
Dim OutFile As String
Dim MacroName As String
  OutFile = "C:\MacroTest.xls" '出力のエクセルファイル
  MacroName = "マクロ1"    '実行しているマクロの名前
  
  Set xlsApp = CreateObject("Excel.Application")
  Set xlsWkb = xlsApp.Workbooks.Open(OutFile)
  xlsApp.Run xlsApp.ActiveWorkbook.Name & "!" & MacroName
  xlsWkb.Close (True): Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing
End Function

↑のコードをAccessのマクロですと「プロシジャの実行」で呼び出せば、
Excelのマクロが実行されます。

※こちらの掲示板ではマルチポスト(複数の掲示板にまったく同じ話題を
投稿すること)容認されてますが、他の掲示板には禁止となっている所も
もちろんあります。気をつけましょう。

1867 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078230
(SS)C-BOARD v3.8 is Free