我在其中一个工作表上有一个按钮,让用户继续他的任务,将他/她的模板作为文件夹中的单独的工作簿保存。
I have a button on one of the worksheets that lets user to continue with his task to save his/her template as a separate workbook in the folder.
这是我的代码
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现在我需要的是检查该文件夹存在,如果文件夹不存在,我的用户应该可以创建它。
Now what I need is to check if that folder exist, in case if the folder does not exist my user should be able to create it.
我的代码创建此文件夹在这里,但如何连接这2一起工作我根本不知道,因为我相当新的VBA
My code to create this folder is here below, but how to connect this 2 functions together I simply have no idea, since I am fairly new to 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请帮助我
please help me
推荐答案我将把您的代码模块化一点:
I am going to modularize your code a little bit:
在这里获取目录路径
Function getDirectoryPath() getDirectoryPath = ThisWorkbook.Path & Application.PathSeparator & Settings.Range("C45").Value End Function您可以创建目录使用此功能
You can create the directory using this function
Sub createDirectory(directoryPath) MkDir directoryPath End Sub您可以使用 Dir 函数检查目录是否存在/ p>
You can check if a directory exists or not using Dir function
Dir(directoryPath, vbDirectory) 'empty string means directoryPath doesn't exist按钮上的最后一个功能点击:
The final function on button click:
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更多推荐
检查是目标目录存在,然后继续,如果不是然后创建它,然后进行VBA
发布评论