Как открыть файл в C # и изменить его свойства? - PullRequest
3 голосов
/ 14 октября 2008

Мне нужно открыть файл Microsoft Word 2003 и изменить его свойства. Например, изменение темы на вкладке «Сводка».
alt text

Ответы [ 2 ]

8 голосов
/ 15 октября 2008

Microsoft предоставляет очень полезную небольшую сборку под названием DSOFile. Со ссылкой на него в вашем проекте вы можете изменять свойства документа Office. Это не обязательно позволит вам открыть диалоговое окно свойств самого файла Office, но вы наверняка можете смоделировать его.

По данным Microsoft:

Файлы Dsofile.dll позволяют редактировать Свойства документа Office, когда вы делаете не установлен 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
5 голосов
/ 14 октября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...