- ベストアンサー
ファイルの保存
すみません。VBAの初心者です。以下 教えていただけないでしょうか? EXCELファイルを指定のフォルダへ保存したい。 (1)Cドライブに”サンプルフォルダ”というフォルダを作成します。 (2)現在開いているEXCELファイルを Cドライブのサンプルフォルダに保存します 下の記述にでてくるsample.xls と現在開いているファイルは同じ名前です。 (現在開いているファイルの指定がどのように記述したらよいのかよくわからないため以下のように記述しました) 私のやりたいことは要はメールで送ったEXCELファイルを、指定のドライブとフォルダに保存させたいのです。EXCEL2000を使っています Sub フォルダ作成() On Error GoTo fin filePath = "c:\サンプルフォルダ" MkDir filePath MsgBox "フォルダを作成しました" & filePath savefilename = filePath & "sample.xls" nowbook = Workbooks("・・・・")←現在開いているファイル nowbook.SaveAs Filename:=savefilename Exit Sub fin: Select Case Err.Number Case 75 MsgBox "同じ名前のフォルダが存在します" End Select End Sub
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
再びmaruru01です。 ブックの保存ですが、開いているブックが1つしかないなら、 ActiveWorkbook.SaveAs Filename:=savefilename で、複数のファイルを開いていて、保存したいブック名が"Book1.xls"なら、 Workbooks("Book1.xls").Activate ActiveWorkbook.SaveAs Filename:=savefilename と、保存したいブックを選択してから保存処理をします。
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 No.1の人のつけたし程度ですが。 フォルダのフルパスの場合は、以下のように"\"をつける処理を必ず通すようにしましょう。 If Right(filePath, 1) <> "\" Then filePath = filePath & "\" End If 何故、一番右の文字を確認するかというと、各ドライブの直下の場合は、 filePath = "C:\" という風に、最初から"\"があり、無条件に"\"を付けるとまずいからです。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>savefilename = filePath & "sample.xls" filePathの内容が"c:\サンプルフォルダ"なので、ファイル名と繋げると "c:\サンプルフォルダsample.xls"になってしまっています。 間に\を入れましょう。 savefilename = filePath & "\" & "sample.xls"
補足
どうもありがとうございました。 savefilename = savefilename = filePath & "\" & "sample.xls"を修正しました。 ところで、今開いているブックの指定は次の書き方で良いでしょうか? nowbook = Workbooks("Book1") フォルダは作成できたものの、ブックが保存されません。
補足
maruru01さん いつも恐れ入ります。上記アドバイスありがとうございます。 早速採用させて頂きます。