Quiero escribir un programa que leerá en un montón de archivos de Word 97 (.doc) y los guardará como archivos .docx. Estoy restringido a .Net 2.0.C# Word Interop AccessViolationException al guardar
En esta etapa, sólo quiero para que funcione con mi código auxiliar - entonces voy a escribir la interfaz gráfica de usuario y la lógica para abrir varios archivos en varias ubicaciones, etc ...
Esto es lo que tengo hasta ahora :
using MSWord = Microsoft.Office.Interop.Word;
using MSPPoint = Microsoft.Office.Interop.PowerPoint;
continuación, Por lo que yo puedo decir, se está abriendo
OpenFileDialog ofd = new OpenFileDialog()
{
CheckFileExists = true,
};
if (ofd.ShowDialog() != DialogResult.OK)
return;
MSWord.Application app = new MSWord.Application();
MSWord.Document doc = new MSWord.Document();
doc = app.Documents.Open(ofd.FileName);
try
{
doc.SaveAs2(ofd.FileName + ".docx", MSWord.WdSaveFormat.wdFormatDocument);
}
catch (Exception ex)
{
MessageBox.Show("Could not save because:\r\n" + ex.Message,
ex.GetType().ToString());
}
doc.Close();
app.Quit();
return;
la palabra documento. Sin embargo, el comando SaveAs2()
parece arrojar un AccessViolationException
y el .docx no se guarda.
¿Puede alguien decirme por favor cuál es incorrecto con el código antedicho, porqué no está salvando, y cómo solucionarlo?
Gracias
¿Qué le parece publicar la excepción exacta (con detalles)? – steinar