If you had Outlook open already, and used GetObject() rather than CreateObject() that might speed things. DoEvents may help on occassion. http://answers.microsoft.com/en-us/o...0-95a9680000f8
Creation of the PDFs may be taking longer than you think. Try using a timer to see time for tasks.
From a blank sheet run
Sub FillARange()
Dim r As Range, bRange As Range, t1 As Double
Cells.ClearContents
t1 = Timer
SpeedOn
[A1] = "ColA"
[B1] = "ColB"
[C1] = "ColC"
Set bRange = Range("A2:C1000")
For Each r In bRange
If r.Column = 1 And r.Row Mod 2 = 0 Then
r.Value = "Delete"
Else: r.formula = "=Row()*Column()"
End If
Next r
SpeedOff
MsgBox "Added " & bRange.Rows.Count & " rows and " & bRange.Count & " cells." & _
vbCrLf & "It took " & CStr(Timer - t1) & " seconds."
End Sub