Wie öffne ich eine Datei in C # und seine Eigenschaften ändern?
Frage
Ich brauche eine Microsoft Word 2003-Datei zu öffnen und die Dateieigenschaften ändern. Wie das Thema in der Zusammenfassung Tab ändern.
Lösung
Microsoft bietet eine sehr nützliche kleine Montage genannt DSOFile. Mit einem Verweis auf sie in Ihrem Projekt können Sie Office-Dokumenteigenschaften ändern. Es wird nicht notwendigerweise können Sie die tatsächlichen Office-Datei-Eigenschaften-Dialog öffnen, aber man kann es auf jeden Fall simulieren.
Laut Microsoft:
Die dsofile.dll Dateien können Sie bearbeiten Office-Dokument-Eigenschaften, wenn Sie tun nicht Office installiert haben
Mehr Details und ein Download-Link finden Sie unter http://support.microsoft.com/kb/ finden 224351
Hier ist ein Ausschnitt einig (sehr alt) VB Code, den ich vor Ewigkeiten verwendet. Leider habe ich nicht zu C # konvertiert und sich bewusst sein, dass es Teil einer Klasse ist, so gibt es Verweise auf Instanzvariablen sind. Dennoch sollte es recht einfach zu verstehen und verdeckte an die eigenen Bedürfnisse sein:
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
Andere Tipps
kann ich mich vorstellen 2 Möglichkeiten, dies zu tun:
- Verwenden Sie das Microsoft Office-APIs. Sie müssen sie in Ihrem verweisen projizieren, und Sie müssen die Primary Interop Assemblies .
- Konvertieren Sie die Datei in Word 2003 XML-Format und diesen Wert ändern in das XML-Dokument. Hier ist die MSDN Dokumentation auf dem Dokument Eigenschaften: http://msdn.microsoft.com/en-us /library/aa223625(office.11).aspx
würde ich mit der zweiten Option gehen, wenn Sie können, weil auf diese Weise müssen Sie auf dem System nicht hängen von Word installiert werden.