(帮忙请进)vb调用api时提示子程序或函数未定义

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:34:10
代码如下:Public Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String ' only used if FOF_SIMPLEPROGRESS
End Type

Private Declare Function SHFileOperation Lib "Shell32.dll" _
Alias "SHFileOperationA" _
(lpFileOp As Any) As Long

Dim result As Long
With fileop
.wFunc = FO_DELETE
.pFrom = File1.FileName
.fFlags = FOF_ALLOWUNDO Or FOF_NOCONFIRMATION Or _
FOF_NOCONFIRMMKDIR
End With
result = SHFileOperation(fileop)
If result <> 0 Then
MsgBox Err.LastDllError
Else
If fileop.fAnyOperationsAborted <> 0 Then
MsgBox "Operation Failed"

要在模块中声明或定义窗体上用的API函数、变量等,应用public将其声明或定义为公共的,替换以下函数声明即可:
Public Declare Function SHFileOperation Lib "Shell32.dll" _
Alias "SHFileOperationA" _
(lpFileOp As Any) As Long

声明改为public!

Public Declare Function SHFileOperation Lib "shell32.dll" Alias " SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long