2017-05-12 11 views
0

ファイル保存前にExcelファイル名を設定することはできますか?Excel Interop - 保存前にファイル名を設定する

私は、簡単なコードを以下している:

using Excel = Microsoft.Office.Interop.Excel; 

Excel.Application excel = new Excel.Application(); 
excel.Visible = true; 
Excel.Workbook workbook = excel.Workbooks.Add(Excel.XlSheetType.xlWorksheet); 
Excel.Worksheet sheet = workbook.Sheets[1]; 

sheet.Cells[1, 1] = "Hello World!"; 

は、保存する前にこの名前を事前に定義することが可能ですか?

enter image description here

感謝。

+0

['Workbook.SaveAs()'](https://msdn.microsoft.com/en-us/library/office/ff841185.aspx) – gravity

答えて

2

前に、残念ながら、省エネにこれを行うには、明示的、確実な方法はありません。あなたが一番近いのは、テンプレートを使うことです。あなたは、FOO.xltxと呼ばれるテンプレートを持っている場合は、このようなあなたのワークブックを作成することができます。

Application.Workbooks.Add "X:\path\to\FOO.xltx" 

だけ癖が新しいドキュメントの名前は、その後インクリメント数(FOO1初めて、FOO2が付加されていること、 FOO3など)。

テンプレートを作成するには、新しいドキュメントを作成して保存するときに、Save as typeドロップダウンからExcel Template (*.xltx)を選択します。

+0

ありがとうございます@MichaelGunter、それは私が探しているものです。そして1つの質問は、末尾に数字を増やさずにファイルを保存する方法です: '(最初はFOO1、その後はFOO2、FOO3など)'。ありがとう。 –

+0

いいえ。Excelは自動的に[名前を付けて保存/名前を付けて保存]ダイアログボックスに番号を追加します。 –

1

saveasを使用して、必要なファイル名でファイルを保存する必要があります。ユーザーが保存をクリックすると、以前に作成されたファイルが更新されます。残念ながら、他の方法はありません。ここでは、コードは次のようになります。

workbook.SaveAs(Filename: FILENAMEHERE); 
ここ

は、MSDNのドキュメントはそれのためにある:https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas.aspx

+0

ありがとうございますが、私が必要とするものではありません。 この場合、私は既にファイルを保存しています。私の場合は**保存されていない**ドキュメントとしてワークシートを開きたいと思います。私はこのモーダルを得ることを期待してExcelを終了したい場合:[Image](http://img.in6k.com/screens/EXCEL_2017-05-12_21-59-00.png) –

+0

@RostislavOlshevsky、please [変更を保存]ダイアログについての意図を明確にしてください。ダイアログが表示されないようにするか、既に保存されている場合でもワークブックを閉じるときに強制的に表示しますか? – TnTinMn

+0

@TnTinMin理想的には、ファイルを一切保存したくありません。上記の例のように、Excelでデータを開くだけです。この場合、Excelがファイルを保存するように私に提案するとき、私はいくつかの事前定義されたファイル名を保存したいと思っています。 (これが不可能な場合は、あなたのオプションに関しては、「すでに保存されていてもワークブックを閉じる際に表示させる」ことが望ましい)。 –

関連する問題