Мне нужно открыть файл Microsoft Word 2003 и изменить его свойства файла. Например, изменение темы на вкладке «Сводка».
alt text http://www.jegsworks.com/Lessons/words/report/dialog-fileproperties-summary.gifКак открыть файл на C# и изменить его свойства?
ответ
Microsoft предоставляет очень полезную небольшую сборку под названием DSOFile. Со ссылкой на него в вашем проекте вы можете изменить свойства документа Office. Это не обязательно позволит вам открыть диалоговое окно свойств фактического файла Office, но вы могли бы имитировать его.
Согласно Microsoft:
Файлы Dsofile.dll позволяет редактировать свойства документа Office, когда вы не офис установлен
Более подробную информацию и ссылки на скачивание можно найти на сайте http://support.microsoft.com/kb/224351
Вот фрагмент кода (очень старый) VB, который я использовал много лет назад. К сожалению, я не преобразован в C# и знаю, что это часть класса, поэтому есть ссылки на переменные экземпляра. Тем не менее, это должно быть довольно легко понять и скрыто для ваших собственных нужд:
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
Я могу думать 2 способа сделать это:
- Используйте Microsoft Office API. Вам придется ссылаться на них в вашем проекте , и вам понадобится Primary Interop Assemblies.
- Преобразование файла в формат Word 2003 XML и изменение этого значения в XML-документе. Вот MSDN документация о свойствах документа : http://msdn.microsoft.com/en-us/library/aa223625(office.11).aspx
Я хотел бы пойти со вторым вариантом, если вы можете, потому что, как вы не должны зависеть от Слова может быть установлен на системе.
Я бы +5 это, если бы мог .. Отличный ответ. – torial 2008-12-08 19:24:00