I think i can't expalin as well , but i solved with a few line of code. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal IpOperation As String, ByVal IpFile As String, ByVal IpParameters As String, ByVal IpDirectory As String, ByVal nShowCmd As Long) As Long Const SW_NORMAL = 1 Sub Main() Dim X As Long X = ShellExecute(hWnd, "Open", Command$, vbNullString, vbNullString, SW_NORMAL) End Sub This routine take the name of the .doc file and call it directly. In this case the registry key plays a role ( applyng the faq 2.4 ) because the shell Thank you all for your suggest