Đoạn mã giúp xoá dữ liệu trong clipboard

Liên hệ QC

nhattan67

Thành viên mới
Tham gia
11/1/08
Bài viết
35
Được thích
3
- Xin chỉ giúp em đoạn mã VBA xóa dữ liệu trong clipboard.
Vì chương trình của em có thực hiện nhiều thao tác sao chép trong word và khi thoát khỏi chương trình của em thì sẽ xoa hết các thông tin vừa lưu trong clipboard.
xin cám ơn.
 
- Xin chỉ giúp em đoạn mã VBA xóa dữ liệu trong clipboard.
Vì chương trình của em có thực hiện nhiều thao tác sao chép trong word và khi thoát khỏi chương trình của em thì sẽ xoa hết các thông tin vừa lưu trong clipboard.
xin cám ơn.

Bạn chép đoạn này vào module:
PHP:
Option Explicit
Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function EmptyClipboard Lib "user32" () As Long
Public Declare Function CloseClipboard Lib "user32" () As Long
 
Public Function ClearClipboard()
    OpenClipboard (0&)
    EmptyClipboard
    CloseClipboard
End Function
 
Sub MyClearClipboard()
    Call ClearClipboard
End Sub

Bạn lưu ý tạo phím tắt cho Sub MyClearClipboard bằng cách Alt+F8 nhé!

Nguồn: http://www.vbaexpress.com/kb/getarticle.php?kb_id=205
Một số link để nghiên cứu về clipboard:
http://allapi.mentalis.org/apilist/EmptyClipboard.shtml
http://www.cpearson.com/excel/clipboard.htm

Hoặc bạn vào google và gõ vào như sau:
How to clear the clipboard with VBA

Còn nếu đơn thuần chỉ xóa cái đã copy trong excel thì chỉ cần đoạn code nhỏ này:
PHP:
Application.CutCopyMode = False
 
Lần chỉnh sửa cuối:
Upvote 0
Nhớ không lầm thì Application.Calculate cũng làm cho CutcopyMode toi mạng
 
Upvote 0
Còn đây là cách lấy đọc dữ liệu trong Clipboard :

1. Chuẩn bị "hàng nóng"

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".

2. Hàm đọc dữ liệu từ clipboard
PHP:
Public Function GetOffClipboard() As Variant
    Dim MyDataObj As New DataObject
    MyDataObj.GetFromClipboard
    GetOffClipboard = MyDataObj.GetText()
End Function
3. Cho hiển thị nội dung của Clipboard tại vị trí hiện tại :
PHP:
Sub PasteValue()
    On Error Resume Next
    Selection.TypeText Text:=GetOffClipboard
End Sub
Bạn có thể dùng giá trị của Clipboard để làm bất cứ việc gì (dịch số ra chữ . . . .)

Thân!
 
Upvote 0
Web KT
Back
Top Bottom