请教一个VB的问题,关于获取文件的文件名和路径名的。

xunbss 2012-06-19 11:51:26
小菜是学机械的,临时接手VB做一个东西,有个问题向各位老鸟请教。
这是我从网上找的一段程序
Private Sub Command1_Click()
With CommonDialog1
.DialogTitle = "另存为对话框"
.InitDir = "C:/"
.Filter = "文本文件(*.txt)|*.txt|inp文件(*.inp)|*.inp|所有文件(*.*)|*.*"
.FilterIndex = 1
.DefaultExt = "*.Txt"
.Action = 2 '或使用CommondDialog1.ShowSave
FileName = CommonDialog1.FileName
Open .FileName For Output As #1
End With
For i = 1 To Len(Text1)
Print #1, Mid$(Text1, i, 1);
Next i
Close #1
'open ""
End Sub


现在的情况是这样的:我利用上述程序实现了在电脑的某一路径下保存一个文件,比如说我在C盘保存了一个123.txt文件。
现在我想调用这个123.txt往里面写入东西,假如说第一行写入abc,第二行写入def。那就是
Private Sub print_Click()
Open "c:\123.txt" For Input As #1
Print #1, "abc"
Print #1, "def"
Close #1
End Sub


但是这种情况的前提是我知道这个123.txt是存在C盘的,所以我才Open "c:\123.txt" For Input As #1。但是如果别的用户随便将一个.txt文件保存到任意的一个位置,比如说D盘、E盘、F盘或者某一个文件夹下面,那么应该怎么调用这个路径调用这个文件名,实现打开这个文件并往这个文件中写字呢?不会每次都需要更改程序代码吧?
比如说一个用户随意命名了一个.txt文件叫做abc.txt,然后保存在了F盘的abc文件夹里面。那么如果往这个abc.txt文件里面写入数据的话,应该怎么调用这个文件的文件名和路径名呢(open语句应该怎么写呢?Open "???" For Input As #1
)?
小菜刚接触VB很多知识都不懂,抱着诚心学习求教的态度向各位同学学习,诚恳地希望各位老鸟高手不吝赐教。能给出代码就更好了啊!!!
...全文
564 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
王二.麻子 2012-06-20
  • 打赏
  • 举报
回复
用户先保存了文件,那么你是知道这个文件的路径的.

后来你要在这个文件写东西,那你打开这个文件就可以了操作就可以了.

所以用户现在保存的文件的路径和名字应该放在一个全局变量里面,后面使用的时候打开这个变量指定的文件..

dim UserFileName as string
Private Sub Command1_Click()
With CommonDialog1
.DialogTitle = "另存为对话框"
.InitDir = "C:/"
.Filter = "文本文件(*.txt)|*.txt|inp文件(*.inp)|*.inp|所有文件(*.*)|*.*"
.FilterIndex = 1
.DefaultExt = "*.Txt"
.Action = 2 '或使用CommondDialog1.ShowSave
FileName = CommonDialog1.FileName
UserFileName= CommonDialog1.FileName
Open .FileName For Output As #1
End With
For i = 1 To Len(Text1)
Print #1, Mid$(Text1, i, 1);
Next i
Close #1
'open ""
End Sub

Private Sub print_Click()
Open UserFileName For Input As #1
Print #1, "abc"
Print #1, "def"
Close #1
End Sub


那程序里使用的变量时FileName,你没注意到..
of123 2012-06-20
  • 打赏
  • 举报
回复
基本上是两类方法:

1 用户在界面上输入文件路径名。可用的控件:

* CommonDialog
* TextBox
* InputBox
* DriveListBox + DirListBox + FileListBox
......

2 软件通过存储信息获取文件路径名。可用的资源:

* 文本文件(*.ini, *.txt, ......)
* 注册表(如果是这一项,可以在用户创建时或首次访问时写入,或者保留专门的用户设置接口)
赵4老师 2012-06-20
  • 打赏
  • 举报
回复
Private Sub print_Click()
Open "c:\123.txt" For output As #1
Print #1, "abc"
Print #1, "def"
Close #1
End Sub

用dir函数判断指定文件或查找匹配带?或×的通配符文件名。
nerozs 2012-06-19
  • 打赏
  • 举报
回复
保存用这个CommonDialog1控件,打开也是用这个控件的。只是方法不一样。
CommonDialog1.ShowOpen '打开对话框
CommondDialog1.ShowSave '是保存对话框

Private Sub Command1_Click()
CommonDialog1.Filter = "文本文件(*.txt)|*.txt|inp文件(*.inp)|*.inp|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then Exit Sub
ePath = Left(CommonDialog1.FileName, InStr(1, CommonDialog1.FileName, CommonDialog1.FileTitle) - 1) 'ePath 获取文件的路径
eName = CommonDialog1.FileTitle 'eName 获取文件名字
Text1.Text = CommonDialog1.FileName

End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧