プロが教える店舗&オフィスのセキュリティ対策術

accessのマクロ・ワークシート変換で4枚のシートを含むエクセルファイルを作るように設定をしたのですが、これをエクスポートが終わったら自動的に開くようにしたいのですが、どのようにしたらよいでしょうか。

VBAで
DoCmd.OutputTo acOutputTable, "tbl_aaa", acFormatXLS, , True
と試してみましたが、シートは一つのみになってしまいます。
1つのエクセルファイルに4枚のシートを出力して、それを立ち上がるようにしたいです。
DoCmd.TransferSpreadsheet acExport, …
も考えたのですが、エクセルを開く書き方がわかりません。
よろしくお願いします。

A 回答 (1件)

DoCmd.TransferSpreadsheet acExport, …


でエクセルを出力する方法がわかるのであれば、後はエクセルの開き方だけですね?

エクセルを開くには、まずShellを使ってエクセルを起動させ、目的(出力した)ファイルを開きます。
Shellの前半パスにはエクセルの起動EXEがインストールされている場所を指定します。
(ちなみに私の環境はOS:XP、Office2003。不明な場合は『EXCEL.EXE』を検索で探すと良いでしょう。)

後半は出力したファイルのフルパスを指定します。(例ではDドライブのTempフォルダ内にある『出力エクセル』というファイルを開きます)

前半と後半の間はワンスペース空けて下さい。

----------------------------------------------------------
Dim エクセルOPEN As Variant

エクセルOPEN = Shell("C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE D:\temp\出力エクセル.xls")
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。
ファイル名を指定しやってみたらできました!

Shell関数を初めて知りました。。
非常に参考になりました。
ありがとうございます。

お礼日時:2007/06/27 09:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A