dポイントプレゼントキャンペーン実施中!

すみません、助けてください。

Excel 2007のVBAでActiveWorkbook.SaveAsを使って
新規にExcelファイルを生成するものを作成しているのですが、
新たに作成したExcelファイルを開くときにエラー(警告)が出てしまいます。
(ファイル自体は開けるのですが。。。)

ソースは以下です。
------------------------------------------------------------
' シート枚数を指定
Application.SheetsInNewWorkbook = 3
Workbooks.Add

' 上書き保存
Application.DisplayAlerts = False
' ファイル名を指定して保存
ActiveWorkbook.SaveAs (ThisWorkbook.Path + "\" + "新しいファイル.xls")

「VBA 新規作成したファイルを開くときに」の質問画像

A 回答 (1件)

メッセージが読めませんが、おそらく


「開こうとしているファイル 'Book1.xls' の形式は、ファイル拡張子が示す形式とは異なります。
このファイルを開く前に、ファイルが破損していないこと、信頼できる発行元からのファイルで
あることを確認してください。ファイルを今すぐ開きますか?」
でしょう。

Excel 2007 で保存する場合は、拡張子は .xlsx にする
必要があります。
.xls は Excel 2000 や 2003 の保存形式で、ファイルの内容が
大きく異なります。また、拡張子を変えただけでは、保存される
ファイル形式は変わりません。

つまり、実質のファイル形式は 2007 なのに、2003 以前の拡張子
を使っているから警告されています。

2007 の形式で保存したいなら、拡張子は .xlsx にしてください。
2003 以前の形式で保存したいなら、SaveAs の引数でファイル形式を
指定してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
下記のようにFileFormatを指定することで解決しました。


' シート枚数を指定
Application.SheetsInNewWorkbook = 5
Workbooks.Add

' 上書き保存
Application.DisplayAlerts = False
' ファイル名を指定して保存
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path + "\" + "新しいファイル.xls" _
, FileFormat:=xlWorkbookNormal

お礼日時:2011/03/11 16:45

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