用vb怎样这样修改文件名?
vb窗体上有个文本输入框text1、一个按钮command1。c盘abc目录下有许多txt文本文件。点击按钮command1后,怎样把abc目录中最新创建的文件的文件名前...
vb窗体上有个文本输入框text1、一个按钮command1。c盘abc目录下有许多txt文本文件。点击按钮command1后,怎样把abc目录中最新创建的文件的文件名前面加上变量text1.text?
展开
2个回答
展开全部
Private Sub command1_click()
Dim d As String
d = Dir("c:\abc\*.txt")
Do Until d = ""
Name "c:\abc\" & d As "c:\abc\" & Text1.Text & d
d = Dir
Loop
End Sub
以上代码是把"c:\abc"目录的所有txt的文件名前面插入text1的内容。如果只想给最新创建的文件添加,那么可以在循环中用FileDateTime("c:\abc\" & d)检测文件的时间,找出最新的那个即可。
Dim d As String
d = Dir("c:\abc\*.txt")
Do Until d = ""
Name "c:\abc\" & d As "c:\abc\" & Text1.Text & d
d = Dir
Loop
End Sub
以上代码是把"c:\abc"目录的所有txt的文件名前面插入text1的内容。如果只想给最新创建的文件添加,那么可以在循环中用FileDateTime("c:\abc\" & d)检测文件的时间,找出最新的那个即可。
追问
请把在循环中用FileDateTime("c:\abc\" & d)检测文件的时间的代码也加上,同时考虑如果文件夹中只有一个txt文件的情况下,就不管创建时间的新旧了,直接修改这个唯一的文件名。如果文件夹中没有txt文本文件,就不执行修改的代码了
追答
其实 crazy0qwer 同学的回答已经基本解决了你的问题,你真的不愿意自己动脑筋去改一下么?
Private Sub command1_click()
Dim d As String, m As Date, dd As String
m = #1/1/2000#
dd = ""
d = Dir("c:\abc\*.txt")
Do Until d = ""
If FileDateTime("c:\abc\" & d) > m Then
m = FileDateTime("c:\abc\" & d)
dd = d
End If
d = Dir
Loop
if dd<>"" then Name "c:\abc\" & dd As "c:\abc\" & Text1.Text & dd
End Sub
展开全部
其实在另一个问题已经回你了,不过失效了。。。
Private Sub Form_Load()
Dim Path As String, Spath As String
Dim Max As Date, NewFile
Path = "D:\"
Spath = Dir(Path & Spath)
Do Until Spath = ""
If FileDateTime(Path & Spath) > Max Then '判断文件最后修改日期
Max = FileDateTime(Path & Spath)
NewFile = Path & Spath '记录对应文件名
End If
Spath = Dir
Loop
Name NewFile As Path & Text1.Text & "67890.txt" '改名, AS 前面为原文件名,后面为修改后
End Sub
追问
请按这样的要求再稍作修改:vb窗体上有个文本输入框text1。D目录下有许多txt文本文件。启动窗体后,自动把d目录中最新创建的文件的文件名前面加上变量text1.text?注意:最新创建的文件的文件名是不固定的,本身也是变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询