Xin chỉ cách gán một chuỗi từ Clipboard vào một biến và ngược lại, sử dụng VB trong Excel?

hanabenh
hanabenh
Trả lời 16 năm trước
Nếu đang lập trình ứng dụng bằng ngôn ngữ VB, bạn có thể dùng trực tiếp đối tượng Clipboard để thực hiện việc set/get dữ liệu trực tiếp vào Clipboard. Tuy nhiên nếu lập trình bằng ngôn ngữ VBA (để viết các module phần mềm trong các ứng dụng Office), bạn không thể truy xuất trực tiếp đối tượng Clipboard được, bạn chỉ có thể sử dụng Clipboard gián tiếp thông qua đối tượng DataObject, mà ngay cả đối tượng DataObject cũng không có sẵn trong Project VBA của bạn, do đó qui trình sử dụng Clipboard trong module VBA Excel như sau: - Chạy Excel, mở file Excel cần làm việc, chọn menu Tools.Macro.Macros để tạo 1 macro mới với tên là SetGetClipboard (hay Tools.Macro.Visual Basic Editor để vào thẳng cửa sổ soạn code VBA). - Khi cửa sổ soạn code VBA hiển thị, bạn chọn Tools.References để hiển thị cửa sổ References, duyệt tìm và chọn mục "Microsoft Forms 2.0 Object Library" (chứa đối tượng DataObject cần dùng để truy xuất Clipboard). Trong trường hợp mục này không có trong danh sách, bạn chọn button Browse rồi duyệt tìm và chọn file fm20.dll trong thư mục "c:\Windows\system32". - Viết code cho macro hay thủ tục cần dùng Clipboard, thí dụ đoạn code cho macro SetGetClipboard dưới đây demo việc chứa chuỗi vào Clipboard rồi lấy ra và hiển thị lên màn hình: Sub SetGetClipboard() Dim MyDataObj As New DataObject 'chứa chuỗi vào đối tượng DataObject MyDataObj.SetText "Nguyen Van Hiep" 'rồi chứa chuỗi vào Clipboard MyDataObj.PutInClipboard 'lấy chuỗi từ Clipboard ra đối tượng DataObject MyDataObj.GetFromClipboard 'lấy chuỗi từ đối tượng DataObject ra và hiển thị MsgBox MyDataObj.GetText End Sub