¿Cómo guardar archivos adjuntos (objetos incrustados) en Word mediante programación? ¿Alguna vez has usado Word para guardarlo en formato docx, descomprimirlo y luego analizar las incrustaciones?
1. No entiendo por qué es necesario descomprimirlo. Quizás LZ quiera extraer varios "objetos" en Word
Incluidos Word, ppt, excel, etc. luego extraiga Estos archivos adjuntos se "guardan como" archivos separados. Si este es el caso, puede consultar: Insertar un objeto de Excel existente en Word?oMissing?=?System.Reflection.Missing.Value;
p>
Microsoft.Office.Interop.Word.Application?word?=?
new?Microsoft.Office.Interop.Word.Application();//Crear objeto de palabra
word.Visible?=?true; //mostrar
Microsoft.Office.Interop.Word.Document?dcu?=?
palabra. Documents.Add(ref? oMissing,?ref?oMissing,
ref?oMissing,?ref?oMissing); //Crea un nuevo documento vacío con el formato predeterminado
dcu. Activate(); //Activar el documento actual
object?type?=?@"Excel.Sheet.12"; //¿El formato Excel insertado, aquí uso Excel?2010, entonces es .12 p>
object?filename?=?@"C:\list.xlsx";// La ubicación del Excel insertado
word.Selection.InlineShapes.AddOLEObject( p>
ref?type,?ref?filename,?ref?oMissing,?ref?oMissing); //Realiza la operación de inserción
Entonces solo necesitas realizar la operación opuesta, por lo que La clave aquí es obtener el objeto de colección Document .InlineShapes, a través del cual se identifica el "objeto" insertado, y luego estos objetos se convierten al tipo apropiado y se guardan mediante el método SaveAs
2. a docx, el principio es similar. El método es abrir el documento con C# bajo la premisa de que word2007 (versión del componente office12) está instalado y luego usar el método SaveAs para convertirlo al formato docx (2007)