我需要使用Microsoft.Office.Interop.Word命名空間來提取Word文檔是否包含宏以及哪些宏。與其他.Net類的文檔相比,此名稱空間的MSDN文檔沒有提供太多信息。 我在哪裏可以獲得關於這個命名空間的更多信息(例子,完整的文檔等)。我已經在Google和SO上搜索過,但沒有太多信息。Microsoft.Office.Interop.Word文檔
回答
在這裏你可以瞭解更多有關這對Office 2007/Office 2010的:http://msdn.microsoft.com/en-us/library/dd925808.aspx
Microsoft.Vbe.Interop
是VBA的命名空間。 (VBE是Visual Basic for Application Extensibility 5.3。)幫助您搜索的關鍵字是VBProject
,VBComponent
和CodeModule
。
MSDN搜索VBProject會讓你開始。 http://social.msdn.microsoft.com/Search/en-US?query=VBProject&ac=8。
以下文章適用於VBA,但很容易轉換。 WD2000:示例宏返回宏和過程名稱在http://support.microsoft.com/kb/262961。
大部分文檔位於Microsoft Word附帶的VBA幫助文件中 - 對於Microsoft Word 2003,請查找文件VBAWD10.CHM。同時檢查Microsoft Office Visual Basic參考(VBAOF11.CHM)
上面的10和11是Word和Office版本號 - 因此您的里程將根據您安裝的Word版本而有所不同。此外,在所有版本的Word中,命名並不一致,因此搜索VBA * .CHM的所有內容可能會提升您所需的大部分文檔。
這些將回答有關Word API的大部分問題。
無法看到在打開的文檔或模板中查找宏列表的顯而易見的方式,但是...如果您找到方法,請添加註釋以解決此問題,因爲我有興趣知道。 (請注意,每次調用都會在使用Word互操作時引發異常,如果Word有任何模式對話框打開,您將收到一個異常,例如,相應程序)。
@unknown - 如果你要對某件事進行倒票,那麼爲什麼答案沒有幫助的線索會很有用。 (完成了與@ rold2007非常相似的內容並查找了相同的文檔,我很想知道是否有更好的信息來源)。 – MZB 2010-03-20 16:12:27
正如@AMISSico所示,Application.VBE屬性可能是需要查看的地方。 – MZB 2010-03-20 16:19:51
只有一個猜測,因爲這個問題只有一個答案。我想投票是因爲你引用Office和Word對象模型引用而不是VBA/VBE引用。此外,也許是因爲你正在引用VBA而不是.NET命名空間。 – AMissico 2010-03-20 17:28:08
沒有好的文檔。唯一的資源是MSDN(安靜的壞)和一些博客。 也許你可以在這裏找到一些信息:http://blogs.msdn.com/mshneer/
正確的答案是檢查Document.HasVBProject屬性。
引用來自備註部分:「該屬性在編程確定文檔是否需要保存爲支持宏的文件格式時最爲有用,如果以其他格式保存,文檔中包含的宏和代碼項目可能會迷路了。「
- 1. 如何使用Microsoft.Office.Interop.Word創建.docx文檔?
- 2. 如何不使用microsoft.office.interop.word保存文檔
- 3. Microsoft.Office.Interop.Word - 覆蓋當前文檔中的文本,如何阻止它?
- 4. 在SharePoint 2013中將Word文檔轉換爲PDF使用Microsoft.Office.Interop.Word
- 5. 如何使用Microsoft.Office.Interop.Word創建郵件標籤Word文檔?
- 6. 使用.Net中的Microsoft.Office.Interop.Word將文檔導出爲HTML?
- 7. C#Microsoft.Office.Interop.Word
- 8. 的Microsoft.Office.Interop.Word OMath
- 9. c#,Microsoft.Office.Interop.Word - 文檔對象內容中的索引和文檔中的實際位置之間的差異
- 10. 訪問和填充Word 2007文檔模板使用C#和Microsoft.Office.Interop.Word快速部件?
- 11. 如何檢測Word文檔中使用Microsoft.Office.Interop.Word C#4.0中的空白段落?
- 12. 使用Microsoft.office.Interop.Word創建Word文件
- 13. Microsoft.Office.Interop.Word如何停止文件打開
- 14. DOCX to RTF without Microsoft.Office.Interop.Word
- 15. 使用Microsoft.Office.Interop.Word程序集
- 16. 如何使用的Microsoft.Office.Interop.Word
- 17. 在asp.net中使用Microsoft.Office.Interop.Word
- 18. C#Microsoft Word自動化Microsoft.Office.Interop.Word
- 19. 警告CS0467使用 'Microsoft.Office.Interop.Word._Document.Close'
- 20. 更改事件中的Microsoft.Office.Interop.Word
- 21. 未找到Microsoft.Office.Interop.Word參考
- 22. Microsoft.Office.Interop.Word版本11與VS2010?
- 23. 無法加載的Microsoft.Office.Interop.Word
- 24. 不能使用的Microsoft.Office.Interop.Word
- 25. 如何使用Microsoft.Office.Interop.Word獲取Word文檔中的形狀或圖片中的文本?
- 26. 查找文本MS字中使用Microsoft.Office.Interop.Word指定字體在c#
- 27. 如何從DOC文件中提取圖像而不使用Microsoft.Office.Interop.Word
- 28. 如何使用Microsoft.Office.Interop.Word區分Microsoft Word文件中的標題?
- 29. 使用Microsoft.Office.Interop.Word解析表,只從第一列獲取文本?
- 30. 使用Microsoft.Office.Interop.Word時強加頁碼
什麼版本的Office? – 2010-03-05 00:19:26
@ rold2007:只是想檢查下面的答案是否回答你的問題。 – 2010-03-15 15:22:49
@Otaku:到目前爲止的三個答案都很有趣,但是這個應用程序的開發還沒有開始,所以我不知道我需要開發的是否可行。當我的測試完成後,我會回到這裏。 – rold2007 2010-03-17 04:46:06