- ベストアンサー
フォルダを新規作成して、そのフォルダの中に現在開いているファイルを保存
フォルダを新規作成して、そのフォルダの中に現在開いているファイルを保存するマクロを教えてください。エクセルで使用します。フォルダ名やファイル名は任意で構いません。フォルダの場所はデスクトップがよいです。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
追加の回答が無いようなので割り込みますね。 >Path = "C:\Documents and Settings\XXXX\デスクトップ\smp" の、\ はフォルダの階層を分ける記号と考えてください。 C:\Documents and SettingsのXXXXのデスクトップのsmp 乱暴な言い方ですが、上記の『の』にあたるものと考えてください。 で、No1さんの回答ですが \ が抜けています。 ご自身でも、『今処理しているブックがsmpbbbと』と 言われていますよね。 なので、もう少しあの回答を私好みにして Sub NewTest() Dim Path As String Path = Environ("userProfile") Path = Path & "\デスクトップ\smp" If Dir(Path, vbDirectory) = "" Then If MsgBox("smp フォルダを作成しますか?", vbYesNo) = vbNo Then Exit Sub End If MkDir Path End If ActiveWorkbook.SaveAs Path & "\" & "bbb.xls" End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
標準モジュールに Sub test01() Path = "C:\Documents and Settings\XXXX\デスクトップ\smp" If Dir(Path, vbDirectory) <> "" Then Call MsgBox("ディレクトリは存在します") Else MkDir Path End If ActiveWorkbook.SaveAs Path & "bbb.xls" End Sub デスクトップにsmpと言うフォルダをつくり 今処理しているブックをbbb.xlsと言う名で保存する例。 WEBなどで「フォルダ作成 VBA」などで照会すれば、コード例がすぐ判る課題ですよ。自力で調べる クセをつけないと。
お礼
早速のご回答ありがとうございました。質問が悪かったのかもしれませんが、試しにやってみたのですが、デスクトップにsmpというフォルダは作成されたのですが、今処理しているブックがsmpbbbというファイル名で、フォルダの外、つまりデスクトップ上に保存されてしまいました。 smpというフォルダの「中に」保存できるようにするにはどうしたらよいでしょうか。 なにせ、初心者なので改善策がわかりません。よろしくお願いします。
お礼
nicotinismさん、希望のマクロが実行できました。\の理屈もわかりましたし、フォルダの存在の有無を確認するボックスが開いて確認できるし、とても便利ですね。どうもありがとうございます!!