В чем проблема в этом заявлении?

Я пишу образец приложения для преобразования файла DOC в PDF. При этом я получаю сообщение об ошибке.

// Creating the instance of WordApplication
MSDOC = new Microsoft.Office.Interop.Word.ApplicationClass();
try
{
    MSDOC.Visible = false;
    MSDOC.Documents.Open(ref Source, ref Unknown,
     ref Unknown, ref Unknown, ref Unknown,
     ref Unknown, ref Unknown, ref Unknown,
     ref Unknown, ref Unknown, ref Unknown,
     ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
    MSDOC.Application.Visible = false;
    MSDOC.WindowState = Microsoft.Office.Interop.Word
                                 .WdWindowState.wdWindowStateMaximize;
    object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Message from Sample");
}

И это утверждение, в котором я получаю сообщение об ошибке:

object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;

Ошибка типа взаимодействия «Microsoft.Office.Interop.Word.ApplicationClass» не может быть встроена. Вместо этого используйте соответствующий интерфейс.


person Hemant Kumar    schedule 11.10.2010    source источник


Ответы (3)


Вы пробовали делать то, что предлагает сообщение об ошибке? Заменять

MSDOC = new Microsoft.Office.Interop.Word.ApplicationClass();

с участием

Microsoft.Office.Interop.Word.Application MSDOC;
MSDOC = new Microsoft.Office.Interop.Word.Application();
person Dirk Vollmar    schedule 11.10.2010

Попробуйте MSDOC = new Microsoft.Office.Interop.Word.Application(); вместо .ApplicationClass().

person jball    schedule 11.10.2010

если вам не нужна обработка событий пользовательского приложения Word, сделайте так, как рекомендовано 0xA3, в противном случае оставьте ApplicationClass как есть, но перейдите к ссылке на проект: выберите MIcrosoft.Office.Interop.Word, свойства и измените встроенную форму Ture на False Убедитесь, что добавить office.dll из офиса 2003 или PIA

person gg89    schedule 05.07.2014