2017-08-08 4 views
0

J'ai essayé d'ouvrir un fichier en utilisant la méthode ShellExecute dans VB6, le nom de fichier sera tiré d'une zone de texte dans le formulaire. Mais le fichier ne s'ouvre pas et pas d'erreurs aussi.VB6 - ShellExecute ne fonctionne pas

Cependant, la même méthode fonctionne sans problème si je passe directement le nom du fichier au lieu de faire référence à une variable. Code ci-dessous pour référence. Je ne sais pas où le problème existe mais toute aide est très appréciée.

WorkingCode

ShellExecute 0, vbNullString, "F:\Desktop\SBKL\template.xlsx", vbNullString, vbNullString, vbNormalFocus 

Code chômés

Dim FlNme As String 
FlNme = Trim(Me.T_Doc_Link.Text) 
ShellExecute 0, vbNullString, FlNme, vbNullString, vbNullString, vbNormalFocus 
+1

Que * exactement * est dans la variable 'FlNme' quand il échoue? – RBarryYoung

+0

Aussi, vous devriez probablement l'appeler comme une fonction pour obtenir sa valeur de retour: 'intReturn = ShellExecute (0, vbNullString, FlNme, vbNullString, vbNullString, vbNormalFocus)'. – RBarryYoung

+1

@RBarryYoung Merci beaucoup. J'ai essayé de regarder ce qui est exactement là à l'intérieur de FlNme et j'ai trouvé qu'il y avait peu de sauts de ligne. Je ne sais pas comment les retours à la ligne sont venus. Toutefois, le code suivant fonctionne correctement: FlNme = Remplacer (Remplacer ((Trim (Me.T_Doc_Link.Text)), vbCrLf, ""), vbNewLine, "") – Maruthi

Répondre

1

Avant d'appeler ShellExecute() vous devriez vérifier si le fichier existe en utilisant Dir$() et avertir l'utilisateur lorsque le chemin et/ou d'un fichier sont erronés :

If Dir$(FlNme, vbNormal) = vbNullString Then 
    MsgBox "File not found:" & vbCrLf & FlNme 
    Exit Sub 
End If 
ShellExecute 0, vbNullString, FlNme, vbNullString, vbNullString, vbNormalFocus 
+0

Ce problème est maintenant résolu. J'ai essayé de trouver l'option 'Mark Answered' mais je ne suis pas capable de le faire. – Maruthi

+0

Vous devez essayer de cliquer sur la flèche HAUT de ma réponse? –

+0

Fait .. Merci. Marqué comme terminé – Maruthi