代码如下,里面有一句
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, "c:\") ,这样可以默认选择c盘
但是如果我dim dir as string
dir="c:\"
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, dir) '就没有默认打开的效果,
但是换成这样就可以 const dir as string="c:\"
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, dir) '这个就没有问题,我要使用动态变量实现默认打开的效果,怎么弄,一定要用动态变量哈
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
"SHGetPathFromIDListA" (ByVal pIdl As Long, ByVal pszPath As String) As LongPrivate Type BrowseInfo
hwndOwner As Long
piDLroot As Long
pszdisplayName As String
lpsztitle As String
ulFlags As Long
lpfncallback As Long
lParam As Long
iImage As Long
End Type
Dim SelPath$, spShell, spFolder, spFolderItem
Private Sub Command1_Click()
On Error GoTo errhandler '有错误或选择取消返回32755的错误代号,执行错误处理副程序
Set spShell = CreateObject("Shell.Application") '创建对像
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, "c:\") '定义spFolder=定义对像展开目录,e:\music是予设的展开路径
Set spFolderItem = spFolder.Self '定义spFolderItem
SelPath = spFolderItem.Path 'SelPath=选中的spFolderItem文件夹路径
If Right(SelPath, 1) <> "\" Then SelPath = SelPath & "\" '选择的路径最后面加上\
MsgBox SelPath
errhandler: '错误处理副程序
If Err > 0 Then Exit Sub '有错误或按了取消即退出这个sub
End Sub
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, "c:\") ,这样可以默认选择c盘
但是如果我dim dir as string
dir="c:\"
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, dir) '就没有默认打开的效果,
但是换成这样就可以 const dir as string="c:\"
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, dir) '这个就没有问题,我要使用动态变量实现默认打开的效果,怎么弄,一定要用动态变量哈
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
"SHGetPathFromIDListA" (ByVal pIdl As Long, ByVal pszPath As String) As LongPrivate Type BrowseInfo
hwndOwner As Long
piDLroot As Long
pszdisplayName As String
lpsztitle As String
ulFlags As Long
lpfncallback As Long
lParam As Long
iImage As Long
End Type
Dim SelPath$, spShell, spFolder, spFolderItem
Private Sub Command1_Click()
On Error GoTo errhandler '有错误或选择取消返回32755的错误代号,执行错误处理副程序
Set spShell = CreateObject("Shell.Application") '创建对像
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, "c:\") '定义spFolder=定义对像展开目录,e:\music是予设的展开路径
Set spFolderItem = spFolder.Self '定义spFolderItem
SelPath = spFolderItem.Path 'SelPath=选中的spFolderItem文件夹路径
If Right(SelPath, 1) <> "\" Then SelPath = SelPath & "\" '选择的路径最后面加上\
MsgBox SelPath
errhandler: '错误处理副程序
If Err > 0 Then Exit Sub '有错误或按了取消即退出这个sub
End Sub
解决方案 »
- 一个关于access数据库的小问题,高分求助。
- vb如何读取网页源码指定位置的内容
- VB问题解惑->请大侠指教
- 谁能帮帮我
- mciSendString函数路径设置问题?
- taoheping来接分!
- 有关MMcontrol和picture 去播放avi格式的视频
- 在VB的自制控件CODE中如何获取该控件的容器控件?
- 看看吧!各位高手们
- 快疯了,用逐语句或逐过程调试,结果正确,一旦正常运行,总是出错!!!
- 挑战Crystal Report各种疑难问题,请大家发表所困惑的问题
- 有没有前辈知道“DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, TableName,
vRootFolder="c:\"
Set spFolder = spShell.BrowseForFolder(0, "选择目录:", 0, vRootFolder)
参数 vRootFolder 可以是数值常量,也可以是字符串,是 variant 类型。
http://msdn.microsoft.com/en-us/library/bb774065(VS.85).aspx