
Sub Auto_Open()
Dim OpenFileName As String
Dim wb As Object
rc = MsgBox("体温表を開いている場合は起動できません。" & vbCrLf & "体温表は全て閉じていますか?", vbYesNo + vbQuestion, "バグ差し替え")
If rc = vbYes Then
MsgBox "バグのある体温表を選択して下さい。", vbInformation, "バグ差し替え"
ChDrive "E"
ChDir "E:\コスモス2006リンクフォルダ\体温表"
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xlsm?") 'ここでバグファイルを選択させる.ア行~ワ行というフォルダがある。
On Error Resume Next 'エラーがあっても続行する
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'ーーーーーーーーーここのマクロをつくってほしいーーーーーーーーー
'①選択したファイルを“E:\コスモス2006リンクフォルダ\体温表\2016\※バグあり分”に移動させる。ただし2016は現在の年とする。
'②“E:\コスモス2006リンクフォルダ\体温表\2016\※原本\新体温表色あり”をコピーし、選択したファイルが置いてあったフォルダ内に貼り付け、選択したファイル名と同一に名前にリネームする。
'③選択して移動させたファイルの名前に、右記を追記&リネームする。“バグありn”※nは複数ある場合に数字2~を追記。
'ーーーーーーーーーーーーーーー以上ーーーーーーーーーーーーーーー
'④双方を開いて、各シートのテキストをコピー/ペースト、終了とする。
'⑤シートは説明書とする
Application.ScreenUpdating = True
Application.DisplayAlerts = True
If Err.Number <> 0 Then 'エラーがあったら実行する
MsgBox "体温表の選択に失敗しました。"
Exit Sub 'マクロの実行を終了する
End If
Else
MsgBox "処理を中断します。", vbCritical
End If
End Sub
何卒よろしくお願いします。
No.3ベストアンサー
- 回答日時:
No.1(kmeeさん)の回答にGoodをポッチったママチャリです。
と言っても放置するのは忍びないので、タダでできる範囲まで仕様を落として回答させて頂きます。
仕様を落とした点は、次の通りです。
要求仕様)重複する場合、連番を付加する。
実装仕様)重複の有無に関わらず、日時を付加してユニークにする。
それから、“バグありYYYYMMDD-HHMMSS”は、ファイル名の前に付けました。
(この方がファイルマネージャで見たときに便利?)
どうしても後ろにつけたい場合は、そのための命令もコメントとして記述しました。
必要に応じて、コメントを外してください。
'ーーーーーーーーーここのマクロをつくってほしいーーーーーーーーー
Dim MyPath As String, MyFile As Variant
MyPath = "E:\コスモス2006リンクフォルダ\体温表\" & Year(Now) & "\"
MyFile = Split(OpenFileName, "\", -1)
MyFile = MyFile(UBound(MyFile))
'↓ファイル名の前に日付を付ける場合は、こちらで↓
MyFile = "バグあり_" & Format(Now(), "yyyymmdd-hhmmss") & "_" & MyFile
'↓ファイル名の後ろに日付を付ける場合は、こちらで↓
'MyFile = Replace(MyFile, ".xlsm", "_バグあり(" & Format(Now(), "yyyymmdd-hhmmss") & ").xlsm")
Name OpenFileName As MyPath & "※バグあり分\" & MyFile
FileCopy MyPath & "※原本\新体温表色あり.xlsm", OpenFileName
'ーーーーーーーーーーーーーーー以上ーーーーーーーーーーーーーーー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
ExcelVBAのDirでスペース含むフ...
-
ファイル名を一括してリネーム...
-
バッチコマンドでファイル名の...
-
ftp処理でmove(移動)を行いたい
-
バッチファイルで、iniファイル...
-
バッチ処理で16進数でファイル...
-
コマンドプロンプトでのCSV...
-
【DOSバッチ開発】末尾のタブの...
-
スタートアップのファイルをバ...
-
[VBScript]csrss.exeメモリリーク
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
-
特定フォルダ内のファイルを自...
-
バッチでテキストファイルから...
-
エクセルのVBAについて とある...
-
.txtではなく.logの方が良いの...
-
[teraterm] waitコマンドで停止...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
ExcelVBAのDirでスペース含むフ...
-
ftp処理でmove(移動)を行いたい
-
[DOS] コピー先に同じファイル...
-
バッチコマンドでファイル名の...
-
フォルダ内の更新日時が一番新...
-
コマンドプロンプトで変数が数...
-
ファイル名に ” を使うと エク...
-
DOSのバッチ作成について‐FORの...
-
access,vbaでフォルダ内のファ...
-
【DOSバッチ開発】末尾のタブの...
-
サブフォルダからファイルをコ...
-
スタートアップのファイルをバ...
-
エクセルVBAを使用してJPGファ...
-
バッチファイルで同一フォルダ...
-
バッチ処理で16進数でファイル...
-
コマンドプロンプトでのCSV...
-
ファイル名の頭5桁と同名のフォ...
おすすめ情報