Tôi sử dụng Visual Basic và giao diện tự động hóa để truy xuất chuỗi từ ứng dụng bên ngoài. Các chuỗi này chứa các mã định dạng html đơn giản (<b>, <i>, v.v ...). Có chức năng dễ dàng nào trong Visual Basic cho Word để chèn các chuỗi này vào một tài liệu word và chuyển đổi các mã định dạng html thành định dạng từ không?Làm cách nào để chèn các chuỗi định dạng HTML vào tài liệu Microsoft Word bằng Visual Basic trong khi vẫn giữ nguyên định dạng?
Trả lời
AFAIK không có hàm dựng sẵn để thực hiện điều đó trong VBA. Bạn sẽ phải viết nó cho mình, mà sẽ không quá khó khăn nếu bạn restirct nó để phân tích cú pháp <b>, <i>, <a> and <p>,
ví dụ. Tất cả các thẻ khác sẽ bị bỏ qua.
Dưới đây là một liên kết để thêm HTML vào clipboard bằng VB:
http://support.microsoft.com/kb/274326
Một khi bạn đã HTML trên clipboard, dán nó vào từ doc của bạn sử dụng một cái gì đó như thế này:
ActiveDocument.Range.PasteSpecial ,,,,WdPasteDataType.wdPasteHTML
Điều này tương đương với việc bạn cắt và dán nó theo cách thủ công.
Sử dụng InsertFile
Set objdoc = objInsp.WordEditor
Set objword = objdoc.Application
Set objsel = objword.Selection
objsel.WholeStory
vs_html = "<html><body>" + vs_body + "</body></html>"
vs_file = "C:\temp\1.html"
Call DumptoFile(vs_file, "", vs_html, False)
RetVal = objsel.InsertFile(vs_file, , , False, False)
WOW! Đơn giản và chống đạn. : D (Tất nhiên sẽ có một số sắc thái đối với việc sử dụng% TEMP%, hoặc một cái gì đó, và chúng tôi cần một số giải pháp DumpToFile(), nhưng đó là rộng rãi có sẵn trên Net.) – MGM
lớn giúp đỡ !! cho anh chàng này một chấp nhận! –