Ouvrir une appli depuis Excel........

cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 10 juin 2004 à 16:22
cs_Lolux Messages postés 159 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 septembre 2005 - 11 juin 2004 à 11:40
Bonjour!

Je cherche à ouvrir Visio, puis un nouveau document dans Visio, depuis mon VBA d'Excel. Pour l'instant j'ai mis:

Dim appVisio As Visio.Application
Set appVisio = CreateObject("Visio.Application.8")
appVisio.Documents.Add

Quand j'exécute le code, il me met "Compile Error, User-defined type not defined" et me surligne la première ligne.

Est-ce que quelqu'un peut m'aider? Merci d'avance!

5 réponses

cs_Lolux Messages postés 159 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 septembre 2005
10 juin 2004 à 17:02
Code à placer dans un Module
Public Declare Function ShellExecuteA Lib "shell32" (ByVal hWnd As Long, ByVal LPFile As String, ByVal PathFile As String, ByVal Other As String, ByVal Other2 As String, ByVal Param As Long) As Long


Sur le click d'un bouton dans une Form: Appel de l'API
Private Sub Command1_Click()
  retval = ShellExecuteA(0, "Open", rsFiche!fich_path & rsFiche!fich_file, "", "", 10)
  If retval = 2 Then
   MsgBox "Ouverture du fichier impossible !", 48, "Impossible"
  End If
End Sub


A plus

Lolux
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
11 juin 2004 à 09:19
Merci beaucoup de m'avoir répondu.
Est-ce que tu pourrais juste me préciser à quoi correspondent les paramètres suivants:
ByVal hWnd As Long?
ByVal LPFile As String?

Est-ce que ByVal Other As String, ByVal Other2 As String et ByVal Param As Long sont obligatoires ou ce sont des paramètres facultatifs permettant de donner des précisions supplémentaires à la fonction?

Merci beaucoup de ton aide.
0
cs_Lolux Messages postés 159 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 septembre 2005
11 juin 2004 à 10:09
Visite ce lien tu en saura plus :

http://www.mentalis.org/apilist/ShellExecute.shtml

@+

Lolux
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
11 juin 2004 à 11:23
Merci!
Malheureusement j'ai encore un petit problème: ShellExecuteA permet de lancer Visio mais j'ai une fenêtre qui apparaît pour me demander de choisir un modèle.

Est-ce que tu sais comment je pourrais faire pour qu'elle n'apparaisse pas (je sais que l'on peut faire un truc du genre VisioAppli.DisplayAlerts = False mais il faut déclarer VisioAppli as Visio.Application, et Excel ne connaît pas ce type...) ou bien pour cliquer sur Cancel à partir de mon code VBA?

Une fois que je me serai débarrassée de cette fenêtre, est-ce que Visio va ouvrir un nouveau document?

Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Lolux Messages postés 159 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 septembre 2005
11 juin 2004 à 11:40
Là je ne peux plus t'aider car je ne connais pas Visio.

ShellExecute permet d'ouvrir un fichier dans son application par défaut quelque soit le type de fichier.
Ca n'est donc pas proprement lié au programme lancé.
Dans ton cas je sais pas trop... mais pour chaque problème il y a une solution (plus ou moins propre).

En tout cas, pour cliquer ou appuyer sur un touche en Vb la piste c'est la méthode SendKey.

Bon courrage.

Lolux
0