2

シートを交換した後も数式を機能させ続ける方法は? つまり、ワークシートが削除されて置き換えられたときに、数式のワークシートへの参照を保持する方法は? しかしC#では

using Excel = Microsoft.Office.Interop.Excel;

 Excel.Application excelApp = new Excel.ApplicationClass();
 Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(connection.DataSource, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
    foreach (Excel.Worksheet sh in excelWorkbook.Sheets)
    {
        if (sh.Name == SheetName || sh.Name == "_"+SheetName)
        {
            sh.Application.DisplayAlerts = false;
            sh.Delete();
        }
    }
    excelWorkbook.Save();
    excelWorkbook.Close(true, excelWorkbook.FullName, null);
    excelApp.Quit();

後で、同じ名前で SQL コマンド「テーブルの作成」を呼び出しています。すべての数式が機能していません

4

1 に答える 1

1

あなたがしなければならないことは、数式を含むシートで、最初にそれらを数式から変換することです (これにより、これらの数式が参照しているシートを削除するときに、Excel が数式でエラーを作成するのを防ぎます)。

たとえば、検索/置換を実行し、「=」を「#」(またはそのシートで使用していないことが確実な他の文字または文字セット) に置き換えます。これにより、式がエラーのある参照を作成するのを防ぎます。

次に、シートを削除し、新しいシートを追加します

次に、数式シートの値を「#」から「=」に再度置き換えます。

新しいシートが古いシートと同じ名前である限り、問題はありません。

お役に立てれば。

于 2013-08-26T14:37:18.577 に答える