2012-03-06 32 views
0

DataGridViewからすべてのセルを取り出してExcelワークブックにコピーするメソッドを書きました。Excelファイルを保存すると例外がスローされる

私は実際にそれを保存する部分に達するまで、すべてがうまく動作します。ここで

は、それを保存したコードです:

 //Saves the Workbook to the specified path 
     excelWorkbook.ActiveWorkbook.SaveCopyAs(pathToSave); 
     excelWorkbook.ActiveWorkbook.Saved = true; 

     //Close the workbook 
     excelWorkbook.Quit(); 

そして、例外がスローされる:

Microsoft Office Excel cannot access the file 'C:\Users\TheGateKeeper\Desktop\New folder'. There are several possible reasons: 

• The file name or path does not exist. 
• The file is being used by another program. 
• The workbook you are trying to save has the same name as a currently open workbook. 

は、これは私がこのクラスで働いています初めてですので、私は何かを台無したかもしれませんアップ。追記としても

、何をするか:

excelWorkbook.ActiveWorkbook.Saved = true; 

のですか?

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

+0

'C:\ Users \ユーザーTheGateKeeper \デスクトップ\新しいフォルダは' ディレクトリです。どのようにファイル名を設定する? –

+0

Doh! interlopクラスはどのような拡張機能に保存されますか? – TheGateKeeper

+0

1.変数pathToSaveの値は何ですか? 2.ディレクトリ "C:\ Users \ TheGateKeeper \ Desktop \ New folder"は存在しますか? –

答えて

1

拡張子を含むExcelファイルのパスに、SaveCopyAsメソッドの引数を設定します。

例えば、 C:\Users\TheGateKeeper\Desktop\TestFile.xls。それはdoesnの保存と真のフラグにコンテンツを保存した設定、あなたの側のノートで

拡張子は、ワークブックの形式を指定するなどの.xls(2003 <)、。、XLSX(2007 +)実際にディスクに書き込む。

ブックファイルを開くには、Openメソッドを使用します。

ワークブックをディスクに書き込まずに保存済みとしてマークするには、その SavedプロパティをTrueに設定します。

最初にブックを保存するときに、SaveAsメソッドを使用して、ファイルの名前を に指定します。

ソースMSDN

関連する問題