4
C# 4.5
을 사용하여 Excel 파일에서 매크로를 호출하려고합니다. 나는 매크로를 호출 할 때 내 Excel 버전 나는 다음과 같은 오류 얻을, 2010 년C에서 Excel 매크로를 호출 할 때 오류가 발생했습니다.
이다 : 나는 이것에 대한 많은 검색 좀
Cannot run the macro 'MacroName'. The macro may not be available in this workbook or all macros may be disabled.
,하지만 아무것도 정말 일 것 같다. 다음 스크린 샷이 같이
나는, 매크로 보안을 열었습니다 :
다음과 같이 내가 사용하고있는 코드는 다음과 같습니다
실제 매크로는Macros.xls
에 저장됩니다
Excel.Application book = null;
Excel.Workbooks workbooks = null;
Excel.Workbook macroWorkbook = null;
Excel.Workbook destinationWorkbook = null;
try
{
book = new Excel.Application();
workbooks = book.Workbooks;
macroWorkbook = workbooks.Open(@"D:\Work\Macros.xls");
destinationWorkbook = workbooks.Open(@"D:\Work\Destination.xlsx");
book.Run("MacroName");
macroWorkbook.Close(false);
destinationWorkbook.Close(true);
}
catch (Exception ex)
{
throw ex; // the finally will be executed before this is thrown
}
finally
{
book.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(macroWorkbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(destinationWorkbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks);
System.Runtime.InteropServices.Marshal.ReleaseComObject(book);
macroWorkbook = null;
destinationWorkbook = null;
workbooks = null;
book = null;
}
Destination.xslx
에서 실행됩니다. Excel
에서이 매크로를 실행할 때 문제가 없습니다.
당신은 매크로가있는 통합 문서 Excel을 말할 필요가 Application.Run –
@TimWilliams에 대한 도움말을 참조하십시오. 죄송합니다. 방금 당신의 코멘트를 보았습니다. 내 게시물을 삭제했습니다. –
@SiddharthRout - 게시물을 떠나야합니다! 나는 대답을 게시하기에는 너무 게을 렀다. ... –