用 VB 实现 另存为时默认文件名 与 已存在的文件名重复 则提示错误

就像大家用的WORD和excel那样,另存为文件时,弹出的对话框会有默认的名字,当点击保存时,软件会自行检知当前路径下是否有与默认的名字重复的文件存在,如果有会弹出提示框。而我用的软件没有这个功能,想用VB6.0自己实现。

第1个回答  2014-01-26
你用的软件?如果是别人的软件,你用外挂的形式添加这个功能想必是有些难度的。
如果是你自己用VB6编写的程序,则用下面的方法就可以了。
Dim strRet as string
Dim PathFileName as string
PathFileName="C:\xxx.ini"
strRet = Dir$(PathFileName, vbNormal)
If Len(strRet) <> 0 Then
MsgBox "存在"
Else
MsgBox "不存在"
End If

Dir() 检查文件是否存在,不存在返回空串;存在返回文件信息
可根据第二个参数调整。追问

公司的工具软件,让我升级,那如果没有该款软件的源代码,也不清楚它用什么编的怎么办?

追答

没源码那你咋升级?重新写一个?

追问

前辈用VB写过一个应用软件.exe,调用了该工具软件的部分功能。在另存为时,将默认文件名变成了( type_当前时间_序列号)的形式。而我的任务就是实现 ,另存为时默认文件名 与 当前路径已存在的文件名重复 ,则提示错误

追答

应用软件.exe

这个软件的源码有吗?有这个的源码就好办了啊。你先看一下源码里面关于存储的代码是怎么写的,然后添加上相应的代码就可以啦。

追问

本回答被网友采纳
第2个回答  2014-01-26
很容易啊,点保存时,弹出窗口,TEXT1里设置按默认的名字
保存前,用DIR检查一下是不是有这个名字,有的话用msgbox提示是否覆盖,取消不保存。追问

公司的包装好的工具软件,让我升级,没有该款软件的源代码,怎么办?

追答

两个方法:
1、联系开发工具软件的公司,希望能改进这个功能;
2、自己重新开发;
毕竟是别人开发的,版权不是你的。

追问

前辈用VB写过一个应用软件.exe,调用了该工具软件的部分功能。在另存为时,将默认文件名变成了( type_当前时间_序列号)的形式。而我的任务就是实现 ,另存为时默认文件名 与 当前路径已存在的文件名重复 ,则提示错误。

追答

在你上面没看到保存 type_当前时间_序列号 的形式,保存就是T.ini...
你在保存前,用DIR("保存的目录\type_当前时间_序列号的文件")是不是为空,为空不存在,不为空就提示就行了啊。都已经说得这么清楚了。

本回答被提问者采纳
第3个回答  2014-01-26
if dir(文件路径,vbnormal) >"" then
msgbox "同名文件已经存在"
else
保存文件.....
end if
第4个回答  2014-01-26
Me.Computer.FileSystem.FileExist追问

这是另存为文件时,弹出的对话框会有默认的名字保存的路径吗?

追答

不是,这是检测是否有同样文件存在。

追问

前辈用VB写过一个应用软件.exe,调用了该工具软件的部分功能。在另存为时,将默认文件名变成了( type_当前时间_序列号)的形式。而我的任务就是实现 ,另存为时默认文件名 与 当前路径已存在的文件名重复 ,则提示错误。

追答

对呀,就用那个判断,如果为True,那么提示。

用VB 实现 另存为时默认文件名 与 已存在的文件名重复 则提示错误
Dim strRet as string Dim PathFileName as string PathFileName="C:\\xxx.ini"strRet = Dir$(PathFileName, vbNormal)If Len(strRet) <> 0 Then MsgBox "存在"Else MsgBox "不存在"End If Dir() 检查文件是否存在,不存在返回空串;存在返回文件信息 可根据第二个参数调整。

请教VB做的文件另存功能!!
1.保存时,我换名保存的文件,没有了后缀名。\/\/估计是因为CommonDialog1.Filter = "ALL File" 的原因吧应该要自己+上后啜 2.如果保存一次,再次保存,发现已有这个文件,按“取消”,结果程序还是给保存了。If Dir(CommonDialog1.FileName) <> vbNullString Then '同文件夹有同名文件 If MsgB...

请教高手excel通过VB代码复制当前工作表,另存为以今天的日期为名字的...
文件名不能包含字符: "\/", 而默认的 date 函数返回 2016\/12\/26 格式。可以利用 format 函数转换一下格式 例如:Format(Date, "yyyy-mm-dd")

vb操作保存EXCEL文件到D盘时,原来有,问是否覆盖,选否就出错,是就可以...
与普通EXCEL一样,同一文件名,XmL也会被覆盖。编写VB时写入指定的工作簿名,如果另存为其他文件名,以后就不能启动宏了,要打开文件看一下。

关于实现Excel控件另存为功能的VB代码
path1 = ThisWorkbook.Path & "\\" & name1 If Dir(path1) <> "" Then Kill name1 ActiveWorkbook.SaveAs name1 End Sub 我无法覆盖, 唯有 save as 之前, 先用dir判断, 如有同名文件, kill。--- Sub Print_SaveAsDate()ActiveSheet.PrintOut Copies:=1 path1 = "D:\\shuju\\"name1 = ...

...另存,直接覆盖原来的文件,不要提示该文件已存在?
加一句 xls.DisplayAlerts = False 把它安全警告功能关闭,就不会有提示了

VBA将单元格内容作为文件保存路径?
.SaveAs folderPath & fileName & fileExtension .Close False End With End Sub 在使用此代码之前,请确保将ws变量中的工作表名称更改为您需要保存的工作表名称。此代码将根据D3单元格的内容创建文件夹(如果不存在),然后将工作表另存为该文件夹中的一个新文件。文件名将包含报表和当前日期。

用VB实现退出提示保存
Ask = False (操作结束令其为假,以免老提示)判断保存还是另存为 通常,我们通过使用CommonDialog控件来保存文件,不过,VB的公共对话框提供的ShowSave其实只是Save As,如不作处理则在运行程序中每次保存文件都会跳出另存为对话框,为避免这种不便,我们可以声明一个窗体级或模块级的文件名变量[类型:...

如何在VB中实现图片的另存为功能
添加一个CommonDialog1文件系统控件(见图)!Private Sub Command2_Click()On Error GoTo errh CommonDialog1.Filter = "JPG格式|*jpg;Bmp格式|*.bmp;Gif格式|*.gif"CommonDialog1.ShowSave SavePicture Picture1.Image, CommonDialog1.FileName Exit Sub errh:MsgBox "错误!保存没用成功"End Sub...

vb控制excel另存为,把文件名赋值到单元格A1中
代码及注释如下:Sub main()f = Dir(ThisWorkbook.Path & "\\*.xlsx")'搜索本文件下的所有xlsx格式文件(由于一般带VBA的文件不能保存为xlsx格式,故无需去判断,是否打开的是本文件)Do While f <> ""Workbooks.Open (ThisWorkbook.Path & "\\" & f)'依次打开搜索到的文件 Workbooks(f).Sheets...

相似回答