I have a LOT of phone numbers (A1:A1000) I need formatted the same using a formula in the row to the right (B1:B1000), is it possible?

The problem is that there are several variations of the phone numbers in the column.

1) "###-###-####"
2) "(###)###-####"
3) "###-####"
4) "##########"
5) "(###)-###-####)"

Examples of above:

A1) 704-555-5555
A2) (704)234-2343
A3) 445-2343
A4) 7044343333
A5) (704)-434-4444

I'd like to have each one look like this: (704) 444-4444. or (###) ###-####. If the number is only 7 digits because the area code is missing, I want it to automatically add 704 to the beginning.

My goal is to make Column B look like this:

B1) (704) 555-5555
B2) (704) 234-2343
B3) (704) 445-2343
B4) (704) 434-3333
B5) (704) 434-4444

Is there a simple way to use a formula for this instead of a macro? The data frequently changes in Column A so copying/pasting isn't an option.