Excel を閉じる前に「ダイアログとして保存」を強制的に表示して、EPPlus によって生成された XLSX (マクロではない) ファイルを作成して開く可能性はありますか?
私のシナリオ:
EPPlus で XLSX ファイルを作成し、アプリケーションの一時フォルダーに保存します。次に、すぐにこのファイルを呼び出して実行します (Excel が開き、ファイルが読み込まれます)。何も変更せずに Excel を閉じます。この時点で、「名前を付けて保存」ダイアログを強制して、このファイルを他のディレクトリ (一時的ではない) に保存したいと考えています。ファイルの任意のプロパティ (またはその他の方法) によって、このダイアログを強制的に表示できますか?
XLSM の解決: EPPlus
を使用して Excel マクロ ファイル (XLSM) のこの [名前を付けて保存] ダイアログを表示する必要がある場合は、次のようにします。
OfficeOpenXml.ExcelPackage Package;
Package.Workbook.CreateVBAProject();
OfficeOpenXml.VBA.ExcelVBAModule excelVbaModule =
Package.Workbook.VbaProject.Modules.AddModule("Module1");
StringBuilder mac = new StringBuilder();
mac.AppendLine("Sub Auto_Close()");
mac.AppendLine("Application.Dialogs(xlDialogSaveAs).Show");
mac.AppendLine("End Sub" );
excelVbaModule.Code = mac.ToString();
Package.Save()
マクロファイルではありません。(でも、多分それは不可能です)
ありがとう。
あなたの回答に基づいて私は何をしましたか?EPPlusの (オリジナルの代わりに)
を使用してみます:SaveAs
.Save()
System.IO.FileInfo fileInfo = new System.IO.FileInfo(targetTemporaryFile);
if (fileInfo.Exists) { fileInfo.Delete(); }
Package.SaveAs(fileInfo);
しかし、ダイアログは表示されませんでした。