Good morning,

I'm a first time poster--these boards have been a lifesaver for me over the years. This one has me stumped.

I have a password-protected VBA-enabled workbook that's used by a variety of Mac and PC users. Has worked like a charm for years.

Lately a couple of Mac users have complained of an error: run-time error 1004 'MethodSaveAsFilename' of object '_Application' failed when then they try to save the file to their computers. I've encountered no issues with PC users

The code follows: debugger highlights five rows after do statement, again only on Macs--no problem on PCs.

Many thanks in advance.

        If SaveAs Or Len(Me.Path) = 0 Then
            If Val(Application.Version) < 12 Then
                FileFilter = "Microsoft Office Excel Workbook (*.xls), *.xls"
                FilterIndex = 1
            Else
                FileFilter = "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm, " & _
                    "Excel 97-2003 Workbook (*.xls), *.xls"
                If Right(Me.Name, 4) = ".xls" Then
                    FilterIndex = 2
                Else
                    FilterIndex = 1
                End If
            End If
            Do
                FileName = Application.GetSaveAsFilename( _
                    InitialFileName:=Me.Name, _
                    FileFilter:=FileFilter, _
                    FilterIndex:=FilterIndex, _
                    Title:="SaveAs")
                If FileName = "False" Then Exit Do
                If IsLegalFilename(FileName) = False Then
                    Msg = "The file name is invalid.  Try one of the "
                    Msg = Msg & "following:" & vbCrLf & vbCrLf
                    Msg = Msg & Chr(149) & " Make sure that the file name "
                    Msg = Msg & "does not contain any" & vbCrLf
                    Msg = Msg & "   of the following characters:  "
                    Msg = Msg & "< > ? [ ] : | or *" & vbCrLf
                    Msg = Msg & Chr(149) & " Make sure that the file/path "
                    Msg = Msg & "name does not exceed" & vbCrLf
                    Msg = Msg & "   more than 218 characters."
                    MsgBox Msg, vbExclamation, "Invalid File Name"
                Else
                    If Val(Application.Version) < 12 Then
                        FileFormat = -4143
                    Else
                        If Right(FileName, 4) = ".xls" Then
                            FileFormat = 56
                        Else
                            FileFormat = 52
                        End If
                    End If
                    If Len(Dir(FileName)) = 0 Then
                        Application.DisplayAlerts = False
                        Me.SaveAs FileName, FileFormat
                        Application.DisplayAlerts = True
                        WorkbookSaved = True
                    Else
                        Ans = MsgBox("'" & FileName & "' already exists.  " & _
                            "Do you want to replace it?", vbQuestion + vbYesNo, _
                            "Confirm Save As")
                        If Ans = vbYes Then
                            Application.DisplayAlerts = False
                            Me.SaveAs FileName, FileFormat
                            Application.DisplayAlerts = True
                            WorkbookSaved = True
                        End If
                    End If
                End If
            Loop Until Me.Saved
        Else
            Application.DisplayAlerts = False
            Me.Save
            Application.DisplayAlerts = True
            WorkbookSaved = True
        End If