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