Tôi cần sử dụng không gian tên Microsoft.Office.Interop.Word để trích xuất nếu tài liệu Word có chứa macro và các tài liệu nào. Tài liệu MSDN cho không gian tên này không cung cấp nhiều thông tin so với tài liệu trên các lớp .Net khác. Tôi có thể tìm thêm thông tin về không gian tên này (ví dụ, tài liệu hoàn chỉnh, v.v.). Tôi đã tìm kiếm trên Google và SO nhưng không có nhiều thông tin.Microsoft.Office.Interop.Word documentation
Trả lời
Đây là nơi bạn có thể tìm hiểu thêm về vấn đề này cho Office 2007/Office 2010: http://msdn.microsoft.com/en-us/library/dd925808.aspx
Microsoft.Vbe.Interop
là không gian tên cho VBA. (VBE là Visual Basic cho khả năng mở rộng ứng dụng 5.3.) Từ khóa để giúp bạn tìm kiếm là VBProject
, VBComponent
và CodeModule
.
Tìm kiếm MSDN cho VBProject sẽ giúp bạn bắt đầu. http://social.msdn.microsoft.com/Search/en-US?query=VBProject&ac=8.
Bài viết sau dành cho VBA, nhưng nó dễ dàng được chuyển đổi. WD2000: Macro mẫu để quay lại Macro và thủ tục tên tại http://support.microsoft.com/kb/262961.
Mong đợi ngoại lệ "Truy cập có lập trình vào Dự án Visual Basic không đáng tin cậy". khi bạn thử điều này. Google thông báo lỗi để biết thêm thông tin. (Bạn cũng sẽ tìm thấy một số người cố gắng làm điều tương tự như bạn!) – MZB
Bạn có thể thay đổi điều này thông qua bảo mật macro trên tab "Nhà xuất bản đáng tin cậy". Hơn nữa, việc thêm chứng chỉ vào dự án với cài đặt bảo mật macro thích hợp sẽ bỏ qua thông báo này. – AMissico
Phần lớn tài liệu nằm trong tệp trợ giúp VBA đi kèm với Microsoft Word - cho Microsoft Word 2003 tìm tệp VBAWD10.CHM. Ngoài ra, hãy kiểm tra Tham chiếu Microsoft Office Visual Basic (VBAOF11.CHM)
10 và 11 ở trên là số phiên bản Word và Office - vì vậy số dặm của bạn sẽ khác nhau tùy theo phiên bản Word bạn đã cài đặt. Ngoài ra việc đặt tên không nhất quán trong tất cả các phiên bản của Word, vì vậy việc tìm kiếm mọi thứ VBA * .CHM có thể sẽ bật lên hầu hết tài liệu bạn cần.
Chúng sẽ trả lời hầu hết các câu hỏi của bạn về API Word.
Không thể thấy rõ cách tìm danh sách macro trong tài liệu hoặc mẫu mở, tuy nhiên ... Vui lòng thêm nhận xét vào câu trả lời này nếu bạn tìm phương thức, như tôi muốn biết .
(Lưu ý rằng mọi cuộc gọi có thể ném một ngoại lệ khi sử dụng Word interop. Nếu Word có bất kỳ hộp thoại phương thức nào mở, bạn sẽ nhận được một ngoại lệ, chẳng hạn.
@unknown - Nếu bạn định bỏ phiếu, một đầu mối là tại sao câu trả lời vô ích sẽ hữu ích. (Có làm một cái gì đó rất giống với @ rold2007 và tìm kiếm các tài liệu tương tự, tôi muốn được quan tâm để biết nếu có một nguồn thông tin tốt hơn). – MZB
Như @AMissico gợi ý, tài sản Application.VBE có thể là nơi để xem xét. – MZB
Chỉ đoán, vì chỉ có một câu trả lời cho câu hỏi này. Tôi tưởng tượng bỏ phiếu xuống là do bạn tham khảo các mô hình đối tượng văn phòng và Word đối tượng và không phải là tài liệu tham khảo VBA/VBE. Hơn nữa, có thể bởi vì bạn đang tham khảo VBA thay vì một không gian tên .NET. – AMissico
Không có tài liệu hay. Các tài nguyên duy nhất là MSDN (yên tĩnh xấu) và một số blog. Có thể bạn có thể tìm thấy một số thông tin tại đây: http://blogs.msdn.com/mshneer/
Câu trả lời đúng là kiểm tra thuộc tính Document.HasVBProject.
Để báo giá từ phần Nhận xét: "Thuộc tính này hữu ích nhất trong việc xác định một tài liệu cần được lưu thành định dạng tệp có hỗ trợ macro hay không. Nếu được lưu ở định dạng khác, macro và dự án mã có trong tài liệu có thể bị mất. "
Phiên bản Office nào? –
@ rold2007: chỉ muốn kiểm tra xem liệu câu trả lời bên dưới có trả lời câu hỏi của bạn hay không. –
@Otaku: Ba câu trả lời cho đến nay rất thú vị, nhưng sự phát triển cho ứng dụng này là chưa bắt đầu nên tôi không thể biết được những gì tôi cần phát triển là khả thi hay không. Tôi sẽ đăng lại ở đây khi các bài kiểm tra của tôi sẽ được thực hiện. – rold2007