| 
    
     |  | ネットを参考にして勉強中です。 
 日程表作ります。
 ボタンを押して新規ファイルを作成するときに、
 同じ名前のファイルを作成しないようにしたいのです。
 
 ボタンを押すと、’ブック名取得’の"ActiveWorkBookName"が反転して
 題名のようなメッセージが出ます。
 
 変数の型は Stringになっているのですが、どのように訂正したら良いのでしょうか。 ご教授願います。
 
 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(ActiveWorkbookName)) = 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
 
 '新規にブックを作成
 Public Sub NewBookMake(filename As String)
 Dim tFile As Workbook
 
 Set tFile = Workbooks.Add
 
 '上書きメッセージを表示させない(Trueの時、警告やメッセージを表示します)
 Application.DisplayAlerts = False
 tFile.Saved = True
 tFile.SaveAs filename:=filename
 
 'tFile.Close
 Application.DisplayAlerts = True
 End Sub
 
 'フルパスからファイル名のみ取得
 Function GetFileName(fullpath As String) As String
 Dim i As Integer
 Dim nlen As Integer
 Dim s As String
 
 On Error GoTo ErrSub
 nlen = Len(fullpath)
 For i = nlen To 0 Step -1
 s = Mid$(fullpath, i, 1)
 If s = "\" Then Exit For
 Next
 
 s = Right$(fullpath, nlen - i)
 GetFileName = s
 Exit Function
 ErrSub:
 GetFileName = ""
 End Function
 
 
 'ファイル名から拡張子を除く
 Function GetFileNameOnly(sfina As String) As String
 Dim i As Integer
 Dim nlen As Integer
 Dim s1 As String
 Dim s2 As String
 
 On Error GoTo ErrSub
 s2 = ""
 For i = 1 To Len(sfina)
 s1 = Mid$(sfina, i, 1)
 If s1 <> "." Then
 s2 = s2 + s1
 Else
 Exit For
 End If
 Next
 GetFileNameOnly = s2
 Exit Function
 ErrSub:
 GetFileNameOnly = ""
 End Function
 
 |  |