• ベストアンサー

フォルダを新規作成して、そのフォルダの中に現在開いているファイルを保存

フォルダを新規作成して、そのフォルダの中に現在開いているファイルを保存するマクロを教えてください。エクセルで使用します。フォルダ名やファイル名は任意で構いません。フォルダの場所はデスクトップがよいです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.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

paraseke
質問者

お礼

nicotinismさん、希望のマクロが実行できました。\の理屈もわかりましたし、フォルダの存在の有無を確認するボックスが開いて確認できるし、とても便利ですね。どうもありがとうございます!!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

標準モジュールに 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」などで照会すれば、コード例がすぐ判る課題ですよ。自力で調べる クセをつけないと。

paraseke
質問者

お礼

早速のご回答ありがとうございました。質問が悪かったのかもしれませんが、試しにやってみたのですが、デスクトップにsmpというフォルダは作成されたのですが、今処理しているブックがsmpbbbというファイル名で、フォルダの外、つまりデスクトップ上に保存されてしまいました。 smpというフォルダの「中に」保存できるようにするにはどうしたらよいでしょうか。 なにせ、初心者なので改善策がわかりません。よろしくお願いします。