1

私はドキュメント ( 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;と、「名前を付けて保存」ダイアログが表示されなくなります (宛先フォルダーを選択してプロセスを手動で終了しようとすると、「名前を付けて保存」ポップアップが何度も表示されます)。

何か案が?

4

0 に答える 0