VB 获取指定文件夹下的文件夹名

想实现:
当前目录下有UI文件夹,UI文件夹下有XX,XXXX,XXX,XXXX,等文件夹(文件夹不为空,含有文件和子文件夹)
打开程序获取当前目录下 UI文件夹下的 所有文件夹名
并在COMBO显示出来。(只显示文件夹名,而不是路径)
选择指定的文件夹后点删除 删除选中文件夹
UI文件夹放置的是主题包(一个主题一个文件夹)
我想做的是 浏览选定主题。
不想要的点删除 就把那个主题文件夹给删掉了
点设为主题 就会把主题的那个文件的名字写入到INI文件里

我用
Sub SearchFolder(ByVal Folder As String)
Dim fso As New FileSystemObject
Dim objFile, objFolder

Set objFolder = fso.GetFolder(App.Path & "\ui")

For Each objFolder In objFolder.SubFolders
Combo1.AddItem objFolder.Path

Next
End Sub
实现了 但是显示的是路径“X:/ui/XXX"
怎么把“X:/ui/XXX" 中“XXX”获取?
怎么删除选中文件夹(不为空)

考虑到文件夹下可能有相同的文件夹名,所以我没有用combo控件,因为即便把所有的文件夹列到了combo里,点删除的时候并不能判断这个文件夹到底是删除哪个文件夹下的这个文件夹 (除非显示着一个路径)

把下面的内容保存到记事本,并重命名为 Form1.frm 然后用VB打开 运行就可以了..你把编译好的EXE文件放到你的那个目录下,程序里的目录就是自动获取的当前目录..

用drivelistbox 和 dirlistbox 这两个控件非常容易解决..

'----从这里以下复制----

VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 4860
ClientLeft = 60
ClientTop = 450
ClientWidth = 9750
LinkTopic = "Form1"
ScaleHeight = 4860
ScaleWidth = 9750
StartUpPosition = 2 '屏幕中心
Begin VB.DriveListBox Drive1
Height = 300
Left = 360
TabIndex = 4
Top = 720
Width = 5535
End
Begin VB.CommandButton Command2
Caption = "退出"
Height = 495
Left = 6480
TabIndex = 2
Top = 3360
Width = 1935
End
Begin VB.CommandButton Command1
Caption = "删除"
Height = 495
Left = 6480
TabIndex = 1
Top = 2160
Width = 1935
End
Begin VB.DirListBox Dir1
Height = 3450
Left = 360
TabIndex = 0
Top = 960
Width = 5535
End
Begin VB.Label Label1
Caption = "Label1"
Height = 255
Left = 240
TabIndex = 3
Top = 240
Width = 9135
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim fs, m
Set fs = CreateObject("Scripting.FileSystemObject")
m = MsgBox("确实要删除这个文件夹吗? 注:文件夹下的所有文件将被删除!!" & vbCrLf & Dir1.Path, vbInformation + vbYesNo, "警告")
If m = vbYes Then
fs.deletefolder Dir1.Path
MsgBox Dir1.Path & vbCrLf & "文件夹及文件夹下的所有文件已经删除!", vbInformation, "提示"
End If
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Dir1_Change()
Label1.Caption = Dir1.Path
End Sub

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

Private Sub Form_Load()
Me.Caption = "当前程序目录是:" & App.Path
Dir1.Path = App.Path
End Sub

'----复制到以上的内容----
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-23
'获取文件夹名字。其他相关代码,你给我发消息
dim filen as string
filen=“X:/ui/XXX"
filen=Right(filen, Len(filen) - InStrRev(filen, "\", Len(filen)))
'现在filen=xxx了。本回答被提问者采纳
第2个回答  2008-12-07
楼上的恐怕不行吧,列出所有文件或文件夹好像还要用到递归吧
第3个回答  2008-12-07
right(string,"/")

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网