Das Problem ist das Leerzeichen im Pfad... Shell versucht, "C:\Programme\Adobe\Reader" auszuführen mit dem Parameter "10.0\Reader\AcroRd32" und einem zweiten Parameter "C:\Temp\externedatei.pdf"
Machs mal so:
Sub Click(Source As Button)
Dim result As Integer
Programmpfad = {"C:\Programme\Adobe\Reader 10.0\Reader\AcroRd32.exe"}
Dateiname = {"C:\TEMP\externedatei.pdf"}
result = Shell(programmpfad & " " & Dateiname,4)
End Sub
Dadurch gibst Du die Anführungszeichen mit, und das Programm wird nicht "auseinandergerissen"