人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


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

保存したい名前は現在の時間が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となるようにしていただきたいのです。

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

●質問者: naranara19
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●70ポイント

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

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

きゃづみぃさんのコメント
何のエラーが出るのでしょうか?

2 ● oil999
●100ポイント ベストアンサー

まず、デスクトップに保存する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

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

質問者から

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


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ