zixuan203344 发表于 2017-7-31 20:44:34

[小问题求助]为啥在不同版本里面执行不一样

本帖最后由 zixuan203344 于 2017-7-31 20:46 编辑

Public Function Browse() As Long

    ' Displays the Browse For Folder dialog
    Dim Path As String * MAX_PATH
    Dim retval As Long, bi As BROWSEINFO
   
    bi.ulFlags = BIF_RETURNONLYFSDIRS
    bi.lpszTitle = mvarDialogTitle
    retval = SHBrowseForFolder(bi)
    If retval Then
      Call SHGetPathFromIDList(retval, Path)
      mvarPath = Left(Path, InStr(Path, Chr(0)))
    End If
    Call CoTaskMemFree(retval)
    Browse = retval

End Function


函数功能是:浏览文件或者文件夹对象。在08-10版本中,正常执行,但是在14版本上执行就崩溃或者点不动。

逐步调试,我发现问题出在 retval = SHBrowseForFolder(bi) 这句。


因为平时玩lisp,对VBA不是太熟,请教如何修改,才能在14版上正常使用

xinxirong 发表于 2017-8-3 19:10:47

mvarDialogTitle变量未定义

zixuan203344 发表于 2017-8-3 21:45:00

xinxirong 发表于 2017-8-3 19:10
mvarDialogTitle变量未定义

前面定义过了
Private mvarDialogTitle As String
页: [1]
查看完整版本: [小问题求助]为啥在不同版本里面执行不一样