私はドキュメント ( ppt, pptx, xls, xlsx, doc, docx and pdf
) スプリッターに取り組んでおり、全体として、それを機能させました。今、私は最終的な問題に直面しています。問題は、コンピューター (Windows 7 64b + Office 2007) ですべてが正常に機能することですがxlsx
、サーバー (Windows Server 2008 64b + Office 2007) で 1 つの問題があります。
問題は、グラフを持つ xlsx (xls で動作) を分割している間、すべてのシートから新しいファイルを作成できることですが、グラフのシートからは作成できません。
Excel.Workbook newWork = workbooks.Add();
work.Sheets[counter].Copy(newWork.Sheets[1]);
foreach (Excel.Worksheet newSheet in newWork.Worksheets)
{
if (newSheet.Index > 1)
{
newSheet.Delete();
}
}
newWork.SaveAs(
currentName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault,
Type.Missing, Type.Missing, false, false,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
newWork.Close();
Marshal.ReleaseComObject(newWork);
newWork.SaveAs がComException: Document not savedをスローしています。手動でジョブを実行すると機能します (つまり、xlsx ファイルを開いてから、グラフを新しいワークブックに移動/コピーすると)。また、プロパティを削除するexcelApp.DisplayAlerts = false;
と、「名前を付けて保存」ダイアログが表示されなくなります (宛先フォルダーを選択してプロセスを手動で終了しようとすると、「名前を付けて保存」ポップアップが何度も表示されます)。
何か案が?