我在其中一个工作表上有一个按钮,可让用户继续执行其任务以将他/她的模板另存为单独的工作簿在文件夹中。
这是我的代码
Private Sub ContinueButton_Click()
Application.ScreenUpdating = 0
Sheets(cmbSheet.Value).Visible = True
Application.Goto Sheets(cmbSheet.Value).[a22], True
Application.ScreenUpdating = 1
Unload Me
End Sub
现在,我需要检查该文件夹是否存在,以防万一该文件夹不存在,我的用户应该可以创建该文件夹。
下面是我创建此文件夹的代码,但是我不知道如何将这两个功能连接在一起,因为我对VBA还是很陌生
Sub CreateDirectory()
Dim sep As String
sep = Application.PathSeparator
'sets the workbook's path as the current directory
ChDir ThisWorkbook.Path
MsgBox "The current directory is:" & vbCrLf & CurDir
'makes new folder in current directory
MkDir CurDir & sep & Settings.Range("C45").Value
MsgBox "The archive directory named " & Settings.Range("C45").Value & " has been created. The path to your directory " & Settings.Range("C45").Value & " is below. " & vbCrLf & CurDir & sep & Settings.Range("C45").Value
End Sub
我将对您的代码进行一些模块化:
首先在这里获取目录路径
Function getDirectoryPath()
getDirectoryPath = ThisWorkbook.Path & Application.PathSeparator & Settings.Range("C45").Value
End Function
您可以使用此功能创建目录
Sub createDirectory(directoryPath)
MkDir directoryPath
End Sub
您可以使用Dir
功能检查目录是否存在
Dir(directoryPath, vbDirectory) 'empty string means directoryPath doesn't exist
单击按钮的最终功能:
Private Sub ContinueButton_Click()
Application.ScreenUpdating = 0
Sheets(cmbSheet.Value).Visible = True
directoryPath = getDirectoryPath
'Creating the directory only if it doesn't exist
If Dir(directoryPath, vbDirectory) = "" Then
createDirectory directoryPath
End If
Application.Goto Sheets(cmbSheet.Value).[a22], True
Application.ScreenUpdating = 1
Unload Me
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句