プロが教えるわが家の防犯対策術!

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


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

よろしくお願いします。

A 回答 (1件)

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 既存ファイル名, ファイル名
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2005/11/30 09:50

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

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


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