保存は、Excelの世界だと、
Excelのマクロ記録で名前を付けて保存を記録します。
すると、
ActiveWorkbook.SaveAs Filename:="D:\ken3.xls"
こんな感じで、記録されます。
これだけだと、保存確認のメッセージが表示されるので、
Excel VBAのヘルプから、[警告]をキーワードにヘルプを探すと、
Application.DisplayAlerts = False
が見つかります。
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="ファイル名"
をセットで使うと、使えそうです。
ここで、世界をAccess側に切り替えて、
これを、AccessのVBAに組み込みます。
Set oApp = CreateObject("Excel.Application")
とかで、Excelを起動していると思います。
この Set XXXX がExcelとやりとりする変数なので(ここでは、oApp)、
XXXX.Application.DisplayAlerts = False
XXXX.ActiveWorkbook.SaveAs Filename:="ファイル名"
と頭に 使っている変数XXXX.を追加するだけで、Excel側のプロパティやメソッドが使えると思います。
AccessでExcelファイルを作り、保存のサンプル。
Private Sub コマンド0_Click()
On Error GoTo Err_コマンド0_Click
Dim oApp As Object
Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
'Only XL 97 supports UserControl Property
On Error Resume Next
oApp.UserControl = True
'読み込んだり、新規作成したり
oApp.Workbooks.Add 'テストで新規ブックを追加
'データをセット
oApp.range("B2") = "ken3 test"
'保存します
oApp.Application.DisplayAlerts = False 'Excelの確認をOFF
oApp.ActiveWorkbook.SaveAs Filename:="D:\ken3.xls"
'Excelの終了
oApp.Quit
Exit_コマンド0_Click:
Exit Sub
Err_コマンド0_Click:
MsgBox Err.Description
Resume Exit_コマンド0_Click
End Sub
何かの参考となれば、幸いです。
ついでに手前味噌の宣伝を行うと、
http://www.ken3.org/cgi-bin/group/vba_access_excel.asp
で、AccessからExcelをさわる、そんな処理をまとめているので、こちらもみてください。
2009年9月24日木曜日
QA0924 Excelのマクロ記録で確認したVBAコードをAccessで使う方法
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿