2009-04-24 7 views
10

ファイルを開く/書き込むことができましたが、パスを渡してファイルを保存しようとすると、保存ダイアログが表示されます。C#とExcel Interopの問題、Excelファイルの保存がスムーズでない

excelApp.Save(exportToDirectory); 
excelApp.Quit(); 

exportToDirectoryは次のとおりです: "C:\ファイル\ strings.xlsx" 私はそれがquitely指定されたパス

コードは以下の通りですでファイルを保存するために期待していました。

PS:私はすでにExcel版などでチェックしています。あなたが代わりにApplication.SaveWorkbook.SaveAsを使用する必要が

おかげ

答えて

15

Excel.Application app = new Excel.Application(); 
Excel.Workbook wb = app.Workbooks.Add(missing); 
... 
wb.SaveAs(@"C:\temp\test.xlsx", missing, missing, missing, missing, 
      missing, Excel.XlSaveAsAccessMode.xlExclusive, 
      missing, missing, missing, missing, missing); 
+0

Excel.XlSaveAsAccessMode.xlExclusiveための数値が何であるか任意のアイデア?私はこれをWindowsスクリプトファイルのこの関数に渡す必要があります。あなたのために完全に遅れて相手に – MrVimes

+1

@MrVimesは、しかし、ここで彼らは、今後の参考のためのものです: 'パブリック列挙XlSaveAsAccessMode { xlNoChange = 1、 xlShared = 2、 xlExclusive = 3 }かかわらず – killercowuk

2

さて、ここでMicrosoftはそれをしない方法は次のとおりです。

// Save the Workbook and quit Excel. 
m_objBook.SaveAs(m_strSampleFolder + "Book1.xls", m_objOpt, m_objOpt, 
    m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, 
    m_objOpt, m_objOpt, m_objOpt, m_objOpt); 
m_objBook.Close(false, m_objOpt, m_objOpt); 
m_objExcel.Quit(); 

そのKB article秒のいずれかを参照してください。次のプロパティを設定する

15

も役立つかもしれない:

excelApp.DisplayAlerts = false; 
excelApp.ScreenUpdating = false; 
excelApp.Visible = false; 
excelApp.UserControl = false; 
excelApp.Interactive = false; 
+0

が便利1は間違いなく役に立ちます – AndyM

+0

+これを行うには、' – Amro

+0

私は多くのソリューションを試していますが、これは似ているように動作する唯一のものでした!非常に便利! Tks !! –

1

ExcelApp.Interactive = falseは、任意のダイアログボックスを抑制します。

excelApp.ActiveWorkbook.SaveAs(exportDirectory)

1

私はその後、私は尋ねるためにせずに終了することができ、ファイルを保存することができexcelApp.ActiveWorkbook.save()を見つけました。

2

はちょうどプロパティをActiveWorkbook.Saved設定して、あなたは、任意のダイアログボックスなし()終了することができます。

1

myBook.Saved = true;
myBook.SaveCopyAs(xlsFileName);
myBook.Close(null, null, null);
myExcel.Workbooks.Close();
myExcel.Quit();

+0

これは私にとって最善の結果でした。このソリューションについて私が気に入ったのは、ユーザーが開いた他のExcelファイルには影響しないということです。 – ytoledano

関連する問題