¿Cómo abro un archivo en C # y cambio sus propiedades?
Pregunta
Necesito abrir un archivo de Microsoft Word 2003 y cambiar sus propiedades. Como cambiar el tema en la pestaña Resumen.
Solución
Microsoft proporciona un pequeño ensamblaje muy útil llamado DSOFile. Con una referencia a él en su proyecto, puede modificar las propiedades del documento de Office. No necesariamente le permitirá abrir el cuadro de diálogo de propiedades del archivo de Office real, pero ciertamente podría simularlo.
Según Microsoft:
Los archivos Dsofile.dll te permiten editar Propiedades del documento de Office cuando lo haces no tengo instalado Office
Más detalles y un enlace de descarga se pueden encontrar en http://support.microsoft.com/kb/ 224351
Aquí hay un fragmento de código VB (muy antiguo) que usé hace años. Lo siento, no he convertido a C # y sé que es parte de una clase, por lo que hay referencias a las variables de instancia. Aún así, debería ser bastante fácil de entender y encubierto a sus propias necesidades:
Private Sub ProcessOfficeDocument(ByVal fileName As String)
Dim docDSO As New DSOFile.OleDocumentPropertiesClass
Dim docTitle, docModified, docAuthor, docKeywords As String
Try
docDSO.Open(fileName, True)
Dim docSummary As DSOFile.SummaryProperties = docDSO.SummaryProperties
docTitle = docSummary.Title
docAuthor = docSummary.Author
docKeywords = docSummary.Keywords
docModified = CStr(docSummary.DateLastSaved)
If (Not String.IsNullOrEmpty(docTitle)) Then
_Title = docTitle
End If
If (Not String.IsNullOrEmpty(docAuthor)) Then
_Author = docAuthor
End If
If (Not String.IsNullOrEmpty(docModified)) Then
_DateModified = DateTime.Parse(docModified)
End If
Catch ex As Exception
'Do whatever you need to do here...'
Finally
If (Not docDSO Is Nothing) Then
docDSO.Close()
End If
End Try
End Sub
Otros consejos
Puedo pensar en 2 formas de hacer esto:
- Utilice las API de Microsoft Office. usted Tendrá que hacer referencia a ellos en su proyecto, y necesitarás la Asambleas de interoperabilidad primaria .
- Convierta el archivo a Word 2003 Formato XML y cambiar ese valor en El documento XML. Aquí está la MSDN documentación sobre el documento propiedades: http://msdn.microsoft.com/en-us /library/aa223625(office.11).aspx
Iría con la segunda opción si puedes, porque de esa manera no tienes que depender de que Word esté instalado en el sistema.