2017-05-10 8 views
0

ディスクにExcelファイルを作成する方法はありますか? SaveAs操作が存在するときはいつでも私の文書管理システムがそれをつかむので、普通のNewBook.SaveAsを使うことはできません。私は、しかし、ディスク上のドキュメントを開き、元のファイル名で保存することができます。"SaveAs"を使わずにディスクにExcelファイルを作成

私が必要としているActiveWorkbook.Saveを使用できます。

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

+0

「SaveCopyAs」?それはあなたが何をしているのかをもう少し詳しく説明するのに役立ちます。 –

+1

[名前](https://msdn.microsoft.com/en-us/library/office/gg264639.aspx)ステートメントを使用して既存のファイルをコピーしてから、そのファイルを開いて変更を加え、 'Workbook.Save'? – tigeravatar

+0

"*オブジェクトとして保存するときはいつでも*" - "save as"は*メソッド*、*オブジェクト*は 'Workbook'です。あなたの "文書管理システム"を拡張するためのケア?それはアプリケーションレベル(つまりExcelアドイン)の「Workbook_BeforeSave」イベントハンドラですか?それ以外は@tigeravatarのように、「VBA.FileSystem」モジュールのメンバーを使ってExcelオブジェクトモデルを経由せずにファイルを直接操作できます。 –

答えて

0

それはあなたがやろうとしている(あるいは、なぜ)しているものは不明だが、ここではそれがSaveAsまたはSaveCopyAs(後者は、あなたのDMSのための問題であるかどうかわからない)を起動しないように有用であるかもしれないハックだ:

Dim sPath$, sFileName$, newFileName$ 
sPath = "C:\Path\Where\You\Want\YourFileSaved\" 
sFileName = "MyExcelFile.xlsx" 
'The Worksheet.Copy method will create a new Excel file 
ActiveWorkbook.Worksheets(1).Copy 
'Specify the path where you'd like the file to be 
ChDir sPath 
'Saves the file with default name e.g., "Book2.xlsx", etc. 
ActiveWorkbook.Save 

'Rename the file if needed, first get the file's default name: 
newFileName = ActiveWorkbook.FullName 
'Close it so we can rename it 
ActiveWorkbook.Close 
'Rename it: 
Name newFileName As sFileName 
関連する問題