2008-10-14 2 views

ответ

8

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 
+0

Я бы +5 это, если бы мог .. Отличный ответ. – torial 2008-12-08 19:24:00

5

Я могу думать 2 способа сделать это:

  • Используйте Microsoft Office API. Вам придется ссылаться на них в вашем проекте , и вам понадобится Primary Interop Assemblies.
  • Преобразование файла в формат Word 2003 XML и изменение этого значения в XML-документе. Вот MSDN документация о свойствах документа : http://msdn.microsoft.com/en-us/library/aa223625(office.11).aspx

Я хотел бы пойти со вторым вариантом, если вы можете, потому что, как вы не должны зависеть от Слова может быть установлен на системе.