私はこれに対する答えをオンラインで検索しています。数十の「解決策」がありますが、どれも正しく機能していないようです。私が作成しているアプリケーション (C# を使用) は、mdb クエリ定義からデータを取得し、2 つのワークシートを含む Excel ワークブックを作成します。その部分は完璧に機能します。ここで、簡単にする必要がある部分について説明します。複数のワークシートを含むワークブックがあります (各ワークシートはデータの計算方法が異なります)。「テンプレート」ワークブックを開き、正しいワークシートをコピーし、コピーを新しく作成したワークシートに配置するコードが必要です。他の 2 つのワークシートを含むワークブック。これは、「動作するはず」と私が感じるコードのサンプルです。
_Application xlApp;
Workbook xlTemplateWB;
Workbook xlTempWB;
object missing = System.Reflection.Missing.Value;
xlApp = new ApplicationClass();
xlApp.Visible = true;
//Open Bench Sheet Template
xlTemplateWB = xlApp.Workbooks.Open(Elmnt.getDBPath() + TEMPLATENAME, 0, true, 5, "", "",
false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);
//Open temporary workbook
xlTempWB = xlApp.Workbooks.Open(XLTempDir + XLTempName, 0, false, 5, true, "", true,
XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
//Copy "BOD" Worksheet
xlTempWB.Worksheets.Copy(xlTemplateWB.Worksheets["BOD"]);
xlTempWB.Save();
//Close Workbooks
xlTempWB.Close(true, missing, missing);
xlTemplateWB.Close(true, missing, missing);
xlApp.Quit();
//Release Objects
releaseObject(xlTempWB);
releaseObject(xlTemplateWB);
releaseObject(xlApp);