'========================================================================================= ' 005 ファイルをコピーする '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim コピー元ファイル名 As String '★★★ Dim コピー先ファイル名 As String '★★★ Dim パス As String Dim 位置 As Integer Dim 拡張子区切 As Variant Dim フォルダ区切 As Variant Dim I As Integer Dim ダイアログのタイトル As String Dim タイトル As String Dim スタイル As Long Dim メッセージ As String Dim 応答 As Variant '========================================================================================= Private Sub ファイルをコピーする() FileCopy コピー元ファイル名, コピー先ファイル名 '★★★ End Sub '========================================================================================= '----------------------------------------------------------------------------------------- Sub おためしマクロ() おためしメッセージを表示する 応答 = MsgBox(メッセージ, スタイル, タイトル) If 応答 = vbOK Then コピーしたいファイルを選択してもらう パスからファイル名を取り出す コピー元ファイル名 = Right(パス, Len(パス) - 位置) '★★★ コピー先ファイル名 = "おためし" & コピー元ファイル名 ファイルをコピーする '★★★ End If End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() Worksheets("Title").Select Range("P17").Select 'カーソルを定位置へ移動する タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 32 + 1 'vbQuestion + vbOKCancel メッセージ = "あなたが選択したファイルをコピーして、新しいファイルを作成します" End Sub '----------------------------------------------------------------------------------------- Private Sub コピーしたいファイルを選択してもらう() ダイアログのタイトル = "コピーしたいファイルを選択して、[開く]ボタンをクリックしてください" パス = Application.GetOpenFilename(Title:=ダイアログのタイトル) End Sub '----------------------------------------------------------------------------------------- Private Sub パスからファイル名を取り出す() 拡張子区切 = InStr(1, パス, ".", 1) For I = 1 To 拡張子区切 フォルダ区切 = InStr(I, パス, "\", 1) If フォルダ区切 <> 0 And フォルダ区切 <> "" Then 'みつかった 位置 = フォルダ区切 End If Next End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '-----------------------------------------------------------------------------------------