StackOverFlow에서 솔루션을 찾을 수없는 작은 문제가 있습니다. 상황 : EXCEL 응용 프로그램이 자동으로 열리는 응용 프로그램이 있습니다. 파일을 열면 "파일 형식과 xxx 확장명이 일치하지 않습니다. 파일이 손상되거나 안전하지 않을 수 있습니다 ..."라는 대화 상자가 나타납니다. 이 실행중인 Excel에 초점을 맞춘 응용 프로그램을 만들려고합니다. "YES"를 누르고 VERSION 2007로 다시 저장하면이 오류 메시지가 다시 나타나지 않습니다. 여기 C# Excel 응용 프로그램 파일 형식 문제
내가 지금까지 무엇을 가지고 :var excelApp = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
var c = excelApp.ActiveDialog;
excelApp 변수를 사용하여 YES에 클릭 이벤트를 할 방법을 잘하지 않습니다. 이것은 내가 지금까지 지금 가지고있는 것입니다 :
이 var oExcelApp = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
Process[] processlist = Process.GetProcessesByName("Excel"); //Shows number of running Excel apps
foreach (Process theprocess in processlist) //foreach Excel app running
{
if (oExcelApp.Workbooks.Count >= 0) //for worbooks in each Excel app
{
foreach (Excel.Workbook wkb in oExcelApp.Application.Workbooks)
{
wkb.SaveAs(filePath, Excel.XlFileFormat.xlExcel8);
wkb.Close(true, null, null);
Marshal.FinalReleaseComObject(wkb);
}
oExcelApp.Workbooks.Close();
}
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
oExcelApp.Quit();
Marshal.ReleaseComObject(oExcelApp);
}
이 처음에 오류 메시지가 없었다 경우에만 작동 는 또한 2017 11월 6일
foreach (Process proc in Process.GetProcesses())
{
if (proc.MainWindowTitle.Contains("Excel"))
....
}
을 시도했다. 프로세스가 자동으로 Excel을 열고 오류 메시지가 표시되면 응용 프로그램이 오류 메시지로 인해 사용 중이므로 예외가 발생합니다.
나는 오류를 가지고,하지만 난 다음에 변경할 때 오류도 전혀 대화를하지 않는 : 그냥 같은 상황에 처해있는 다른 사람을 도울 수 대답을 게시. var excelApp = new Microsoft.Office.Interop.Excel.Application(); var x = excelApp.ActiveDialog; ' – Sjips
오우 죄송합니다. Excel = Microsoft.Office.Interop.Excel을 사용하여 을 사용하고 있습니다. –
XlFileFormat.xlExcel8을 사용하면 .xls 확장명으로 파일을 저장해야합니다. 크리스탈 볼은 .xlsx라는 매우 다른 형식을 사용한다고 말합니다. –