プロが教える店舗&オフィスのセキュリティ対策術

エクセル、VBA初心者です。よろしくお願いします。

以前に、ネットワーク先の自動保存の保存先を次のようにこちらでご指導いただきました。
('保存先パス名
 NetPath = "\\○○\□□\△△\
 BkName = ThisWorkbook.Sheets("sheet1").Range("A1").Text & _
Format(Now(), "yyyymmddhhmm") & ".xls")
で、おかげさまでネットワークの任意の保存先にエクセル「sheet1」の「A1」に入れた文字+年月日時間を加えたファイル名で、うまくバックアップとれています。

◆今回は、その保存先フォルダ\△△の中にさらに自動でフォルダをつくるVBAを書きたいのです。

◆例えば「\\○○\□□\△△\2006年4月」 
 といった具合に2006年4月1日になったら、自動で「2006年4月」という名のフォルダをつくり、その中に4月の間はエクセルファイルを自動で保存したいのです。

◆そして、5月1日になればフォルダ「△△」の中に「2006年5月」というフォルダが自動的にできる。

上記のようなイメージです。

自身では、そのようなVBAが、可能か不可能なのかすら全くわかりません。初心者といえど勉強不足で皆様に頼ってばかりですが、どうかご指導ください。

以上、よろしくお願いします。

A 回答 (1件)

結論から言うと可能です。


まず、最新月のフォルダを指定して、エラーが出たら作成するという手順です。

Sub TEST()
Dim BkName As String
Dim NetPath As String
On Error Resume Next
NetPath = "\\○○\□□\△△\" & Format(Now, "YYYY年MM月")
ChDir NetPath
If Err.Number = 76 Then
 MkDir NetPath
 ChDir NetPath
End If
BkName = ThisWorkbook.Sheets("sheet1").Range("A1").Text & Format(Now(), "yyyymmddhhmm") & ".xls"

SaveAs BkName

End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。心より感謝申し上げます。
御礼が遅くなり申し訳けありませんでした。

お礼日時:2006/03/30 09:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!