Erro ao chamar a macro do Excel a partir de c #

Eu estou tentando chamar uma macro de um arquivo do Excel usandoC# 4.5. Minha versão do Excel é 2010.

Quando tento chamar a macro, recebo o seguinte erro:

Cannot run the macro 'MacroName'. The macro may not be available in this workbook or all macros may be disabled.

Eu pesquisei muito por isso, mas nada parece funcionar.

Eu abri a segurança de macro, como mostra a seguinte captura de tela:

O código que estou usando é o seguinte:

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;
}

A macro real é armazenada emMacros.xls e será executado noDestination.xslx. Quando eu executo esta macro emExcel em si, não há problema.

questionAnswers(1)

yourAnswerToTheQuestion