VBA根据下一个工作日创建一个名为(yyyy-mm-dd)的新文件夹

时间:2018-10-20 07:45:48

标签: excel vba excel-vba

这在我当前的文件夹和保存我的vba的工作簿(ThisWB)中:

\ 2018-10-18 \ ThisWB.xlsm

这是我想通过在“ ThisWB.xlsm”中运行vba创建的新文件夹:

\ 2018-10-19 \ R2

(仅作为示例,与今天的日期不匹配)

第一个文件夹应基于明天的日期命名。下一个应该固定为“ R2”。 当我进行大量移动时,我希望有一个不需要以“ C:\”开头的整个文件夹路径的vba。

这是真正的问题:在周一至周四的周一至周五运行vba时,应根据明天的日期来命名文件夹。 在星期五(或星期六)运行vba时,应根据下一个工作日为文件夹命名-对我来说,该日期为星期一...

可以做到吗?

1 个答案:

答案 0 :(得分:1)

以下代码将在保存启用了宏的工作簿的文件夹中创建子文件夹。

'Create the variable "nxtWkDy" for the next workday
Dim nxtWkDy As String
nxtWkDy = Application.WorkDay(Date, 1)

'Create the variable "fldrName" by formatting the variable "nxtWkDy"
Dim fldrName As String
fldrName = Format(nxtWkDy, "yyyy-mm-dd")

    'Set the folder with your macro workbook as the default directory
    ChDir ThisWorkbook.Path

    'Create the subfolders(next workday date and R2) in your macro workbook folder
    MkDir CurDir & "\" & fldrName
    MkDir CurDir & "\" & fldrName & "\R2"