public void DetachSheetsToWorkbooks(Excel.Workbook sourceWb)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
path = (path.EndsWith("\\")) ? path : path + "\\";
path += DateTime.Now.ToString("MMdd_HHmmss");
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
Excel.Worksheet sht = null;
Excel.Application app = null;
Excel.Workbook wbNew = null;
Excel.Worksheet newSht = null;
app = sourceWb.Application;
for (int i = 1; i <= sourceWb.Worksheets.Count; i++)
{
sht = sourceWb.Worksheets[i];
string filename = path + "\\" + sht.Name;
wbNew = app.Workbooks.Add();
sht.Copy(After: wbNew.Worksheets[1]);
newSht = wbNew.Worksheets[1]; newSht.Delete();
wbNew.SaveAs(Filename: filename);
wbNew.Close(SaveChanges: false);
}
MyCommon.ExecuteProcess("explorer.exe", path);
}