[[20200903093805]] 『VBA 月別フォルダ作成』(ピノ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA 月別フォルダ作成』(ピノ)

いつもお世話になっております。

毎月、月替わりに、月別フォルダを作成させたいです。
マクロ自体は毎日動かし、今月のフォルダがなければ作成(月初)
存在したら、何もしないという風にしたいです。

下記の通り記載したところ、
フォルダが存在する場合、「パスが見つかりません」という
エラーがでてしまいます。
このエラーを出さず、フォルダが存在する場合は、
何もしないとする場合はどうしたらいいでしょうか。
ご教授いただきたいです。

Sub 月替りに月別フォルダを作成()

    Dim folder As String

    folder = "\\01.m \fs01\fs01S" & "\" 'フォルダパス+"\"
    folder = folder & Format(DateAdd("m", 1, Date), "yyyy.m月")  '今月のフォルダ

    MkDir folder '今月のフォルダ作成
           '今月のフォルダー有無を確認
            If Dir(folder, vbDirectory) = "" Then
                '無ければ作成
                MkDir folder
            Else
                'あったら何もしない
            End If

End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 >MkDir folder

 2回で来てますが。
(OK) 2020/09/03(木) 09:50

 >2回で来てますが。

 2回出てきてますが
 の間違いでした。
(OK) 2020/09/03(木) 09:51

有ったときには"何もしない"なら、とりあえず作成しようとしてエラーになったら"なにもしない"と考えればよいのでは?

    Sub test()
        Const myPath As String = "\\01.m \fs01\fs01S\"
        On Error Resume Next
        MkDir myPath & Format(DateAdd("m", 1, Date), "yyyy.m月")
        On Error GoTo 0
    End Sub

(もこな2 ) 2020/09/03(木) 13:03


 参考まで。

http://officetanaka.net/excel/vba/error/compilation_error/error_13.htm

今回のは↓でいけます。

  If Dir(folder, vbDirectory) = "" Then MkDir folder
(OK) 2020/09/03(木) 13:20

もこな2様、OK様

有難うございます!!!!

MkDir folderを2回を1回にしたら、出来ました!

もこな2様、OK様の一文のやり方もあるんですね!!
とても勉強になりました。
次同じ事象の時は、そのやり方TRYさせていただきます。

※すみません、コメント更新できておらず、
 コメント前に他の質問をしてしまった感じになってしました…
 失礼いたしました。
(ピノ) 2020/09/03(木) 13:33


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.