You just copy and paste the code as written. It replaces your original code.

It works on the premise that your attachments have the name format - "Calls-[insert account name]-[Insert Date].pdf", which comprises three sections separated by hyphens. It uses the middle section (the account name) to determine where to file the attachments and files them in a sub folder (with that account name) of 'saveFolder' which from your original code is "C:\". Save folder can be any path you define and, as long at the root of that path is available, the process will create any required folder that doesn't exist.

Attachments that don't match that format are saved in the 'saveFolder' folder. - here "C:\". Note that it is not the best idea to save in the root of the C drive so to accommodate a change from that it might be better to move the CreateFolders line outside the conditional statement e.g.

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)      
    Dim objAtt As Outlook.Attachment 
    Dim saveFolder As String 
    saveFolder = "C:\" 
    For Each objAtt In itm.Attachments 
        If InStr(1, objAtt.fileName, "-") > 0 Then 
            saveFolder = saveFolder & Split(objAtt.fileName, "-")(1) & "\" 
        End If 
        CreateFolders saveFolder 'move this line to here
        objAtt.SaveAsFile saveFolder & objAtt.DisplayName 
        Set objAtt = Nothing 
    Next 
End Sub
The remaining code and the Createfolders function are still required.