作者:乔山办公网日期:
返回目录: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&