I've now made some minor changes to the code, but it comes up with run-time error '91' now, just after I select the source document. Any ideas?!

Sub MailMergeFromExcel()
     
    Dim SelectedItems(1) As Object
    Dim sConnection As String
     
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Filters.Add "Excel Macro-Enabled Workbook", "*.xlsm"
        If .Show <> 0 Then
        Else
            Exit Sub
        End If
    End With
     
    'your connection string, also more easily separated with line breaks and arguments
    sConnection = "Provider=Microsoft.ACE.OLEDB.14.0;" & _
    "User ID=Admin;" & _
    "Data Source=SelectedItems(1);" & _
    "Mode=Read;" & _
    "Extended Properties=""HDR=YES;IMEX=1;"";" & _
    "Jet OLEDB:System database="""";" & _
    "Jet OLEDB:Registry Path="""";" & _
    "Jet OLEDB:Engine Type=35;" & _
    "Jet OLEDB:"
     
    'using your conection string... with the parameter names and the passed values separated nicely
    ActiveDocument.MailMerge.OpenDataSource _
    Name:=SelectedItems(1), _
    ConfirmConversions:=False, _
    ReadOnly:=False, _
    LinkToSource:=True, _
    AddToRecentFiles:=False, _
    Revert:=False, _
    Format:=wdOpenFormatAuto, _
    SQLStatement:="SELECT * FROM `MailMerge`", _
    Connection:=sConnection, _
    SQLStatement1:="", _
    SubType:=wdMergeSubTypeAccess, _
    PasswordDocument:="", _
    PasswordTemplate:="", _
    WritePasswordDocument:="", _
    WritePasswordTemplate:=""
     
End Sub