我需要打開一個Microsoft Word 2003文件並更改其文件屬性。如更改摘要選項卡中的主題。
alt text http://www.jegsworks.com/Lessons/words/report/dialog-fileproperties-summary.gif如何在C#中打開文件並更改其屬性?
3
A
回答
8
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
5
我能想到的2種方法來做到這一點:
- 使用Microsoft Office的API。您 必須在您的 項目中參考它們,並且您將需要 Primary Interop Assemblies。
- 將文件轉換爲Word 2003 XML格式,並在 XML文檔中更改該值。這裏是MSDN文檔 對文檔 屬性: http://msdn.microsoft.com/en-us/library/aa223625(office.11).aspx
我會選擇第二個選項去,如果可以的話,因爲要在系統上安裝的方式,你不必依賴字。
相關問題
- 1. 如何打開位圖文件,將其更改並保存?
- 2. 如何打開文件並將其放入數組中,C
- 3. 在C++中打開Unicode文本文件並顯示其內容
- 4. 如何更改c#中XML文件的屬性值?
- 5. 如何在C#.NET中更改事件屬性並創建新事件
- 6. 如何訪問GridView中的特定行並更改其屬性?
- 7. 如何更改cfg.xml文件的屬性?
- 8. 如何緩存XML文件並在Rails中讀取其屬性?
- 9. 如何設置xml屬性並將更改保存到文件?
- 10. C#如何更改文件屬性和複製
- 11. 如何使用.properties文件更改ant屬性位置屬性
- 12. 打開Windows文件/文件夾的屬性由C
- 13. 如何在C++中使用ifstream打開並讀取文件?
- 14. 根據其他控件中的屬性更改屬性 - WPF
- 15. 在c中打開文件#
- 16. 打開文件並輸出在C
- 17. 如何在Odoo JavaScript中打開某些表單視圖並更改其字段?
- 18. C#打開Url並下載文件,文件名更改的最後部分
- 19. 如何在Libre Office中打開文件並將其保存爲.doc文件?
- 20. 如何將文本文件更改爲其屬性已更改爲文本的jmx文件?
- 21. 如何重試打開Java中的屬性文件
- 22. 打開附件進行編輯並保存對其的更改
- 23. 不用在bash中打開文件而對文件進行理性更改?
- 24. 如何更改選項卡控件的字體屬性而不更改C#中其子控件的字體?
- 25. watir腳本如何在其他文件夾中打開文件?
- 26. 如何更改列屬性在SQL中?
- 27. 如何在InstallScript中更改屬性
- 28. 如何在屬性值更改時更新從屬屬性?
- 29. 如何在父樹屬性在樹視圖中更改時更改子屬性?
- 30. 如何在Perl中打開二進制文件,僅更改第一個字節並將其寫回?
我會+5這個,如果我可以..很好的答案。 – torial 2008-12-08 19:24:00