كيف يمكنني فتح ملف في C# وتغيير خصائصه؟
سؤال
أحتاج إلى فتح ملف Microsoft Word 2003 وتغيير خصائص الملف الخاص به.مثل تغيير الموضوع في علامة تبويب الملخص.
المحلول
ويوفر Microsoft جمعية القليل من المفيد للغاية ودعا يحتوي Dsofile. مع الإشارة إلى أنه في المشروع، يمكنك تعديل خصائص مستند Office. انها لن تسمح بالضرورة فتح الحوار خصائص ملف Office الفعلي، ولكن أنت بالتأكيد يمكن محاكاته.
ووفقا لمايكروسوفت:
<اقتباس فقرة>وملفات 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
نصائح أخرى
يمكنني التفكير في طريقتين للقيام بذلك:
- استخدم واجهات برمجة تطبيقات Microsoft Office.سيتعين عليك الرجوع إليهم في مشروعك ، وستحتاج إلىجمعيات التشغيل المتداخل الأساسية.
- قم بتحويل الملف إلى تنسيق Word 2003 XML وقم بتغيير هذه القيمة في مستند XML.فيما يلي وثائق MSDN على خصائص المستند:http://msdn.microsoft.com/en-us/library/aa223625(office.11).aspx
سأختار الخيار الثاني إذا استطعت، لأنه بهذه الطريقة لن تضطر إلى الاعتماد على تثبيت Word على النظام.