- so sánh Từ Interop COM proxy trên cơ sở "tham chiếu bình đẳng"; và
- bản đồ từ một đối tượng cụ thể (ví dụ một đoạn) đến việc thu thập nó xuất phát từ, hoặc ít nhất
- xác định xem hai đoạn là từ phần giống nhau và cái nào đến tương đối trước khi trước đó một
Tại sao tôi muốn làm điều này? Tôi đang cố gắng xây dựng một Word Add-In hoạt động tương tự như một trình kiểm tra chính tả theo nghĩa là nó chạy ở chế độ nền (theo nền tôi có nghĩa là thường xuyên lấy cắp thời gian từ chủ đề chính bằng cách sử dụng SendMessage) và quét tài liệu cho một số văn bản "mã thông báo". Tôi muốn có thể giữ một bộ sưu tập các mã thông báo xung quanh và cập nhật chúng khi các tài liệu thay đổi. Một ví dụ cụ thể về điều này là nếu người dùng chỉnh sửa một đoạn nhất định, tôi muốn quét lại đoạn văn và cập nhật cấu trúc dữ liệu của tôi trỏ đến đoạn đó. Nếu không có cách nào để ánh xạ giữa đoạn mà người dùng đã chỉnh sửa (tức là đoạn mà bắt đầu phạm vi lựa chọn) và một đoạn mà tôi đã "lưu trữ" trong cấu trúc dữ liệu, tôi không thể làm điều này.
Ví dụ Mã cho mụC# 1, trên
Nếu tôi viết mã VBA sau:
Dim Para1 As Paragraph
Dim Para2a As Paragraph
Dim Para2b As Paragraph
Set Para1 = ActiveDocument.Paragraphs(1)
Set Para2a = Para1.Next
Set Para2b = Para1.Next.Next.Previous
If Para2a Is Para2b Then
Debug.Print ("Para2a Is Para2b")
Else
Debug.Print ("Para2a Is Not Para2b")
End If
Sau đó, tôi nhận được kết quả:
"Para2a Is Not Para2b"
Đó có lẽ là sự thật (các proxy COM khác nhau) nhưng không hợp lý t rue. Tôi cần để có thể so sánh các đoạn văn đó và xác định xem chúng có cùng một đoạn văn bản giống nhau hay không.
(Tôi định viết bổ trợ trong C#, nhưng mã VBA ở trên thể hiện loại vấn đề tôi cần phải khắc phục trước khi viết quá nhiều mã).
Đối với các mục 2 và 3 ở trên, hy vọng chúng sẽ tự giải thích. Nói rằng tôi có một tham chiếu đoạn (interop proxy). Tôi muốn tìm ra "nơi" nó nằm trong tài liệu. Nó có thuộc về Phần 1 không? Nó có ở chân trang không? Nếu không có khả năng này, tất cả những gì tôi có thể làm một cách hợp lý để có được ý tưởng về việc mọi thứ đến từ đâu là quét lại toàn bộ tài liệu mỗi khi nó thay đổi, điều đó tất nhiên là không hiệu quả và sẽ không đủ kịp thời cho người dùng ứng dụng.
Bất kỳ suy nghĩ nào được đánh giá cao! Tôi rất vui khi đăng thông tin bổ sung nếu cần.
Có, không tính vào việc nhận lại cùng một đối tượng. So sánh các phạm vi của chúng. –