乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em> <em>VBA</em> 和API函数的问

<em>excel</em> <em>VBA</em> 和API函数的问

作者:乔山办公网日期:

返回目录:excel表格制作


excel vba调用windows API 快速e69da5e887aa7a686964616f337查找所选择的文件
excel选中文件名清单、自动从“a1"文件夹中查找相应的文件。
ShellExecuteA,DataObject,Clipboard,find,SendKeys

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
String, ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long

Const SW_SHOW = 5

Sub test()
Selection.Copy
Dim MyData As DataObject
Dim sTemp As String, s As String
Set MyData = New DataObject
MyData.GetFromClipboard
sTemp = MyData.GetText
s = Replace(sTemp, vbCrLf, ";")
s = Replace(s, vbTab, ";")
MyData.SetText (s)
MyData.PutInClipboard
ShellExecute 0&, "find", Range("a1"), _
vbNullString, vbNullString, SW_SHOW
Application.Wait (Now + TimeValue("0:00:02"))
SendKeys s & "{ENTER}"
End Sub

只有在调用系统的API时才需要考虑这个,这不是考虑excel版本是32位或64位,而是考虑操作系统是32位还是64位,因为调用的是操作系统的API。
Case Is = 1不对
应该是
CASE 1
CASE 7
CASE ELSE

wm_lbuttondown
wm_lbuttonup 这两个常量 你有设置值么
控件的句柄可是会随着窗体的创建和销毁 而改变的

sendmessage 1052388, &h201,byval 0&, byval 0&
sendmessage 1052388, &h202,byval 0&, byval 0&

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网