Как открыть файл на C# и изменить его свойства?

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
2 425
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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

Ответ принят как подходящий

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

Согласно Microsoft:

The Dsofile.dll files lets you edit Office document properties when you do not have Office installed

Более подробную информацию и ссылку для скачивания можно найти на 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 .. Отличный ответ.

torial 08.12.2008 22:24

Другие вопросы по теме