設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

清空剪切板的VBA命令

2015-4-18 09:08| 發(fā)布者: tmtony| 查看: 4524| 評論: 9|原作者: mclly2000|來自: Office中國論壇

摘要: Private Sub Command5_Click() Me.Child0.SetFocus DoCmd.RunCommand acCmdSelectAllRecords DoCmd.RunCommand acCmdCopy Dim obj As Object Set obj = CreateObject(excel.application) obj.workbooks.Add o ...
Private Sub Command5_Click()
Me.Child0.SetFocus
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdCopy
Dim obj As Object
Set obj = CreateObject("excel.application")
obj.workbooks.Add
obj.Visible = True
SendKeys "^v"
obj.Visible = True
End Sub


上面這段語句如何讓數(shù)據(jù)復(fù)制到Excel表格之后將剪切板清空
請各位老師幫幫忙,謝謝
問題補充:我在執(zhí)行上述語句之后(導(dǎo)出2萬多條數(shù)據(jù)至EXCEL表),點擊該主窗體的退出命令后好長時間才關(guān)閉主窗體,不知道為什么,是剪切板有很多數(shù)據(jù)的原因嗎?應(yīng)該如何改變這種情況呢?

有老師說是我導(dǎo)出后沒有釋放,我不知道應(yīng)該處理,請大家看看附件,謝謝

或者不使用這種語句導(dǎo)出數(shù)據(jù),我要是直接使用宏導(dǎo)出數(shù)據(jù),發(fā)現(xiàn)導(dǎo)出的是空白;如果這個子窗體的記錄集在窗體加載時賦值,用宏可以導(dǎo)出數(shù)據(jù)。 關(guān)閉主窗體也很快,但是用這種語句導(dǎo)出數(shù)據(jù)關(guān)閉主窗體就很慢,郁悶啊,請高手賜教...

test.rar
QQ截圖20121225173738.jpg

Cuxun版主提供的解決代碼:成功解決上面問題
模塊級API代碼:
Private Const GHND = &H42
Private Const CF_TEXT = 1
Private Const CF_ANSIONLY = &H400&
Private Const CF_APPLY = &H200&
Private Const CF_BITMAP = 2
Private Const CF_DIB = 8
Private Const CF_DIF = 5
Private Const CF_DSPBITMAP = &H82
Private Const CF_DSPENHMETAFILE = &H8E
Private Const CF_DSPMETAFILEPICT = &H83
Private Const CF_DSPTEXT = &H81
Private Const CF_EFFECTS = &H100&
Private Const CF_ENABLEHOOK = &H8&
Private Const CF_ENABLETEMPLATE = &H10&
Private Const CF_ENABLETEMPLATEHANDLE = &H20&
Private Const CF_ENHMETAFILE = 14
Private Const CF_FIXEDPITCHONLY = &H4000&
Private Const CF_FORCEFONTEXIST = &H10000
Private Const CF_GDIOBJFIRST = &H300
Private Const CF_GDIOBJLAST = &H3FF
Private Const CF_HDROP = 15
Private Const CF_INITTOLOGFONTSTRUCT = &H40&
Private Const CF_LIMITSIZE = &H2000&
Private Const CF_LOCALE = 16
Private Const CF_MAX = 17
Private Const CF_METAFILEPICT = 3
Private Const CF_NOFACESEL = &H80000
Private Const CF_NOSCRIPTSEL = &H800000
Private Const CF_NOSIMULATIONS = &H1000&
Private Const CF_NOSIZESEL = &H200000
Private Const CF_NOSTYLESEL = &H100000
Private Const CF_NOVECTORFONTS = &H800&
Private Const CF_NOOEMFONTS = CF_NOVECTORFONTS
Private Const CF_NOVERTFONTS = &H1000000
Private Const CF_OEMTEXT = 7
Private Const CF_OWNERDISPLAY = &H80
Private Const CF_PALETTE = 9
Private Const CF_PENDATA = 10
Private Const CF_PRINTERFONTS = &H2
Private Const CF_PRIVATEFIRST = &H200
Private Const CF_PRIVATELAST = &H2FF
Private Const CF_RIFF = 11
Private Const CF_SCALABLEONLY = &H20000
Private Const CF_SCREENFONTS = &H1
Private Const CF_BOTH = (CF_SCREENFONTS Or CF_PRINTERFONTS)
Private Const CF_SCRIPTSONLY = CF_ANSIONLY
Private Const CF_SELECTSCRIPT = &H400000
Private Const CF_SHOWHELP = &H4&
Private Const CF_SYLK = 4
Private Const CF_TIFF = 6
Private Const CF_TTONLY = &H40000
Private Const CF_UNICODETEXT = 13
Private Const CF_USESTYLE = &H80&
Private Const CF_WAVE = 12
Private Const CF_WYSIWYG = &H8000
Private Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags&, ByVal dwBytes As Long) As Long
Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalSize Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Public Function ClearClipBoard()
    OpenClipboard 0&
    EmptyClipboard
    CloseClipboard
End Function

相關(guān)閱讀

發(fā)表評論

最新評論

引用 tmtony 2012-12-25 16:10
要用API了,搜索 VB 清 剪切板
引用 tmtony 2012-12-25 16:11
http://www.mzhfr.cn/forum.p ... =%BC%F4%C7%D0%B0%E5
引用 mclly2000 2012-12-25 16:24
tmtony 發(fā)表于 2012-12-25 16:11
http://www.mzhfr.cn/forum.php?mod=viewthread&tid=18507&highlight=%BC%F4%C7%D0%B0%E5

vba中不能使用API
引用 tmtony 2012-12-25 16:49
你是access 還是 Excel
access可使用api
引用 mclly2000 2012-12-25 17:31
本帖最后由 mclly2000 于 2012-12-25 17:34 編輯
tmtony 發(fā)表于 2012-12-25 16:49
你是access 還是 Excel
access可使用api


繼續(xù)請教王站長,我傳了附件,里面有代碼,請老師看看,是不是沒有釋放的原因{:soso_e100:}
引用 huangli0356 2012-12-26 08:51
受用啦..
引用 mclly2000 2012-12-26 08:52
cuxun 發(fā)表于 2012-12-25 17:45
模塊級API代碼:
Private Const GHND = &H42
Private Const CF_TEXT = 1

感謝大肚老師,放在關(guān)閉窗體按鈕的單擊事件可以實現(xiàn),非常感激
引用 ak47ok 2015-11-28 13:15
每次回帖、謝謝!辛苦了。

查看全部評論(9)

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-17 06:03 , Processed in 0.103009 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部