2010-10-11 23 views
7

Estoy escribiendo una aplicación de muestra para convertir un archivo DOC a PDF. Mientras hago esto, recibo un error.¿Cuál es el problema en esta afirmación?

// 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"); 
} 

Y esta es la declaración que estoy recibiendo un error en:

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

error de interoperabilidad tipo 'Microsoft.Office.Interop.Word.ApplicationClass' no puede ser embebido. Use la interfaz correspondiente en su lugar.

Respuesta

14

¿Ha intentado hacer lo que sugiere el mensaje de error? Reemplazar

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

con

Microsoft.Office.Interop.Word.Application MSDOC; 
MSDOC = new Microsoft.Office.Interop.Word.Application(); 
6

Pruebe MSDOC = new Microsoft.Office.Interop.Word.Application(); en lugar de .ApplicationClass().

0

si no es necesario el control de eventos palabra applicaton personalizado, realice según lo recomendado por 0xA3 lo contrario, deje ApplicationClass que no es más que ir a la referencia del proyecto: seleccione Microsoft .Office.Interop.Word, propiedades, y cambie el formulario incrustado Ture a False Asegúrese de agregar office.dll desde Office 2003 o PIA

Cuestiones relacionadas