我有一个UserForm将图片保存到文件夹。请参阅下面的代码。
Dim strpath As String
Private Sub CommandButton1_Click()
Dim cou As Integer
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False
cou = Application.FileDialog(msoFileDialogOpen).Show
If cou <> 0 Then
strpath = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
Image1.Picture = LoadPicture(strpath)
Image1.PictureSizeMode = 1
End If
End Sub
Private Sub CommandButton2_Click()
Dim nam As String
nam = TextBox1.Text
FileCopy strpath, "C:\Desktop\folder\" & nam & ".jpeg"
Me.TextBox1.Text = ""
Set Image1.Picture = Nothing
End Sub
如何编写不会覆盖相同命名文件的文件,只需将其保存为另一个名称,如:Picture1,Picture1-Copy。
感谢您的帮助。
答案 0 :(得分:1)
可能是最简单的方法:
While Len(Dir("C:\Desktop\folder\" & nam & ".jpeg")) > 0
nam = nam & 1
Wend
FileCopy strpath, "C:\Desktop\folder\" & nam & ".jpeg"
我的想法是,如果它在sample.jpeg
中找到类似C:\Desktop\folder\
的文件,则其长度将大于0.因此,它会查找文件sample1.jpeg
,{{1一旦找不到这样的文件,就会使用未找到的名称来保存它。