Excelで日程表を作ってみよう:Step2 同じブック名は作成できないようにする
同じファイル名の存在確認をするVBAの作成
Step 1で新規ブックのファイル名に、このブックと同じ名前が入力された場合エラーになります。
そこで同じ名前の場合、エラーメッセージを表示し、処理を中止させます。
Homeに戻る > Excelでアプリケーションソフトを作ってみよう > 日程表を作ってみよう
Excel VBA標準モジュールコード
下のプロシージャを下記に変更してください。
Public Sub MakeNitteiBook()
Dim makefile As String
Dim BookName As String
'作成するファイル名
makefile = GetSaveFileName
If makefile = "" Then
Exit Sub
End If
'ブック名を取得
BookName = GetFileName(makefile)
BookName = GetFileNameOnly(BookName)
If UCase(GetFileNameOnly(ActiveWorkbook.Name)) = UCase(BookName) Then
Beep
MsgBox "このブックと同じブック名は作成することはできません。",
, "日程表作成"
Exit Sub
End If
'新規にブックを作成
NewBookMake makefile
Workbooks(BookName).Activate
End Sub
'作成するファイル名
Public Function GetSaveFileName() As String
Dim sfile As String
sfile = Application.GetSaveAsFilename(InitialFileName:="", fileFilter:="エクセルファイル (*.xls), *.xls", Title:="保存するエクセルファイルの指定")
If sfile = "False" Then
GetSaveFileName = ""
Else
GetSaveFileName = sfile
End If
End Function
Excel VBAの実行
同じブック名を指定すると、下記のメッセージが表示され中止します。
Excelで日程表アプリ作成
Homeに戻る > Excelでアプリケーションソフト > 日程表を作ってみよう
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved