こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ACCESS VBAで作成済のExcelのコピーを作りたい

ACCESS VBAで作成済みのExcelファイル
(複数シートがあります)の
コピーを作成し
そのファイルでテーブルのデータを
出力したいと思っています。

シートが1つならできましたが
シートが複数あるとできません。

できる方法を教えてください。

なおシートが一つの場合は、下記でできました。
Dim oXLS As New Excel.Application
Dim NewBook As Excel.Workbook

oXLS.Workbooks.Open Filename:=既存ファイル名
oXLS.ActiveWorkbook.Sheets(シート名).Copy
Set NewBook = oXLS.ActiveWorkbook
oXLS.Workbooks(ファイル名).Close


複数シートがある場合の
作成方法を教えてください。

よろしくお願いします。

投稿日時 - 2005-11-29 18:28:54

QNo.1809285

すぐに回答ほしいです

質問者が選んだベストアンサー

Dim oXLS As New Excel.Application
Dim NewBook As Excel.Workbook

Set NewBook = oXLS.Workbooks.Open(既存ファイル名)
NewBook.SaveAs ファイル名
NewBook.Close
でファイル丸ごと別名で保存する=コピーを作ったことになります。

全てのシートを新規のブックに作るには、
oXLS.ActiveWorkbook.Sheets.Copy
Set NewBook = oXLS.ActiveWorkbook
oXLS.Workbooks(ファイル名).Close
でできます。

また、何もせずにファイルを閉じるのであればEXCELを起動してコピーとせずにただのファイルのコピーでも良いかと思います。
FileCopy 既存ファイル名, ファイル名

投稿日時 - 2005-11-29 22:27:45

お礼

全てのシートを新規ブックに作る方法で
できました。

ありがとうございました。

投稿日時 - 2005-11-30 09:50:15

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問