アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

何卒よろしくお願いします。

A 回答 (2件)

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
'ーーーーーーーーーーーーーーー以上ーーーーーーーーーーーーーーー
    • good
    • 0
この回答へのお礼

完璧に動作しました。感謝致します。

お礼日時:2016/02/06 14:37

作成依頼なら、近所のソフト開発会社とか、ランサーズ等の依頼サイトとかにしましょう。


特に仕事で使うものなら、こんなところでどこの誰かもわからない人が作った、どこまでサポートするかもわからない、正しいかどうかの判断できないものを使うのはやめた方がいいかと。
    • good
    • 5
この回答へのお礼

ありがとうございます。

お礼日時:2016/02/06 14:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!