2008-11-17 49 views

Trả lời

6

Khay nhớ tạm của Windows hỗ trợ nhiều định dạng. Khi bạn muốn đặt mọi thứ vào clipboard, bạn thực hiện một hoặc nhiều cuộc gọi đến RegisterClipboardFormat() cho biết định dạng của các đối tượng bạn sẽ đặt vào clipboard, tiếp theo là các cuộc gọi tới SetClipboardData() thực sự đặt dữ liệu vào clipboard .

Nếu bạn muốn có thể dán Bảng thành Word, thì HTML là định dạng dễ nhất để làm việc. Chỉ cần sao chép một bảng HTML vào clipboard, và nó sẽ dán chính xác vào Word, với điều kiện trước tiên bạn đăng ký dữ liệu clipboard dưới dạng một đối tượng HTML.

tôi muốn cung cấp cho bạn một số mã, nhưng nó dễ dàng nhất để chỉ cần tham khảo một ví dụ trên MSDN:

How to add HTML code to the clipboard using Visual Basic

Trang này thậm chí còn cho thấy một ví dụ về việc sao chép một bảng HTML vào clipboard.

+0

Tôi đã làm việc này, nhưng thấy rằng tôi không thể dán dữ liệu ô bảng vào bảng Word hiện có, giống như cách bạn có thể sao chép và dán giữa các bảng Word. Thay vào đó, dữ liệu bảng clipboard hiển thị dưới dạng một bảng lồng nhau trong một ô bảng Word duy nhất. Việc làm việc đó có thể đòi hỏi một sự hiểu biết chi tiết về những gì Word mong đợi tìm thấy trên clipboard. –

+0

Để dán các ô bảng vào các bảng Word theo cách Word, tôi đoán rằng tôi cần phải đặt định dạng RTF vào clipboard. –

0

Bạn đã thử định dạng nó dưới dạng bảng HTML chưa?

+0

Không hoạt động. Bạn cần phải nói cho clipboard là một bảng HTML khi bạn sao chép nó để làm việc. –

0

Đã lâu rồi kể từ khi tôi thực hiện bất kỳ chương trình Windows nào, nhưng tôi có vẻ nhớ lại rằng bạn đăng ký định dạng của đối tượng. Trong thực tế, bạn có thể đăng ký nhiều đối tượng có định dạng khác nhau và ứng dụng dán có thể chọn giữa chúng (chẳng hạn như tùy chọn Paste Special của Word).

Tôi sẽ cố gắng tạo đối tượng bảng Word, điền vào ô đó bằng dữ liệu của bạn và sau đó sao chép dữ liệu đó vào khay nhớ tạm.

0

Clipboard là rất tốt ... Nhưng một cái gì đó có vẻ hơi sơ sài về việc sử dụng nó để giữ được kết quả từ chương trình của bạn để dán vào Word. Điều gì mà bạn đang cố gắng làm điều đó có lẽ bạn nên làm theo cách khác?

Các vấn đề liên quan