あるエクセルファイルを閉じるときに、その時の時間をつけた名前を加えて特定の箇所に保存したいマクロ



ある入金確認のエクセルファイルを特定の名前をつけて下記の位置に保存したいです。
どのようにすればよいでしょうか?

保存したい名前は現在の時間が2013/01/25/1425だとしたら、

入金確認1301251425

と西暦の20をとって保存したいのです。
保存後自動的にそのファイルが閉じるとなお嬉しいです。


ぜひ教えてください。


Sub テスト()
'

ChDir "C:\Users\YAMAMOTO\Desktop\確認"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\YAMAMOTO\Desktop\確認\入金確認1301251425.xls", FileFormat:=xlExcel8 _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False

End Sub

↑上記はテストです。自動的に入金確認1301251425となるようにしていただきたいのです。

よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/01/25 13:01:43
  • 終了:2013/01/25 19:06:47

ベストアンサー

id:oil999 No.2

oil999回答回数1728ベストアンサー獲得回数3202013/01/25 18:25:52

ポイント100pt

まず、デスクトップに保存するExcelファイルは、マクロ有効ブック(拡張子.xlsm)として保存してください。

マクロは、下記のコードをThisWorkbookに記述してください。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Filename = "C:\Users\YAMAMOTO\Desktop\確認\入金確認"
    Filename = Filename & Right(Replace(CStr(Date), "/", ""), 6)
    Filename = Filename & Replace(CStr(Time), ":", "") & ".xls"
    ActiveWorkbook.SaveAs Filename:=Filename, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
id:naranara19

ありがとうございました!完璧に動作いたしました!感謝します!(元々はエクセル1997-2003でした)

2013/01/25 19:05:50

その他の回答(1件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982013/01/25 13:55:45

ポイント70pt

ThisWorkbookの下に 以下のものを追加すればいいでしょう。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ChDir "C:\Users\YAMAMOTO\Desktop\確認"
    
    Filename = "C:\Users\YAMAMOTO\Desktop\確認\入金確認"
    Filename = Filename & Right(Replace(CStr(Date), "/", ""), 6)
    Filename = Filename & Replace(CStr(Time), ":", "") & ".xls"
    
    ActiveWorkbook.SaveAs Filename:=Filename, FileFormat:=xlExcel8 _
    , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False

End Sub
id:naranara19

ありがとうございます!すみません。入金確認というファイル自体はデスクトップにあるためかエラーがでてしまいます。デスクトップにある入金確認を開いていて、実行する(もしくは閉じる)と、確認というフォルダの中に「入金確認1301251530.xls」のように保存したいのですが、どのようにしたらよいでしょうか?言葉足らずだったと反省しております。

2013/01/25 15:34:42
id:taknt

何のエラーが出るのでしょうか?

2013/01/25 19:01:22
id:oil999 No.2

oil999回答回数1728ベストアンサー獲得回数3202013/01/25 18:25:52ここでベストアンサー

ポイント100pt

まず、デスクトップに保存するExcelファイルは、マクロ有効ブック(拡張子.xlsm)として保存してください。

マクロは、下記のコードをThisWorkbookに記述してください。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Filename = "C:\Users\YAMAMOTO\Desktop\確認\入金確認"
    Filename = Filename & Right(Replace(CStr(Date), "/", ""), 6)
    Filename = Filename & Replace(CStr(Time), ":", "") & ".xls"
    ActiveWorkbook.SaveAs Filename:=Filename, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
id:naranara19

ありがとうございました!完璧に動作いたしました!感謝します!(元々はエクセル1997-2003でした)

2013/01/25 19:05:50
id:naranara19

お二人とも誠にありがとうございました!

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません