用vb怎样这样修改文件名?

vb窗体上有个文本输入框text1、一个按钮command1。c盘abc目录下有许多txt文本文件。点击按钮command1后,怎样把abc目录中最新创建的文件的文件名前... vb窗体上有个文本输入框text1、一个按钮command1。c盘abc目录下有许多txt文本文件。点击按钮command1后,怎样把abc目录中最新创建的文件的文件名前面加上变量text1.text? 展开
 我来答
网海1书生
科技发烧友

2013-03-30 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
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)检测文件的时间,找出最新的那个即可。
追问
请把在循环中用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
crazy0qwer
2013-03-30 · TA获得超过3300个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1316万
展开全部

其实在另一个问题已经回你了,不过失效了。。。

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?注意:最新创建的文件的文件名是不固定的,本身也是变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式