Shell

cs_aljeth Messages postés 12 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 9 juillet 2011 - 21 janv. 2010 à 21:28
cs_aljeth Messages postés 12 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 9 juillet 2011 - 23 janv. 2010 à 14:28
bonjour,

Sous Excel en utilisant une macro il est possible de lancer différentes applications de types : Shell ("winword.exe") ou Shell ("outlook.exe")etc... Existe t'il une commande similaire dans une application VB ? En fait je souhaite lancer une application sans en donner le chemin "c:\monappli.exe", ce que l'on fait avec ShellExecute en api.

Merci...

10 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 janv. 2010 à 00:04
tu as tout autant Shell

après à avoir sir ton appli se trouve dans le %Path% ou non


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
cs_aljeth Messages postés 12 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 9 juillet 2011
22 janv. 2010 à 08:03
Merci Renfield, mais je voulais vraiment éviter cette manip, afin que mon appli s'adapte à n'importe quelle destination dossier.

Jeth
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 janv. 2010 à 09:01
y'a pas de miracle.
ton appli ne sera pas trouvée par magie...

si ton appli s'installe et marque son emplacement dans la base de registres, tu pourrais retrouver ce répertoire en lisant cette dernière.

ainsi tu pourrais lancer ton application où qu'elle ait été installée

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
23 janv. 2010 à 06:25
Je pense savoir ce que tu veux dire.

Par exemple ouvrir un fichier PDF sans te soucier de l'endroit ou se trouve le programme ca existe cette commande, il y a je crois shellexecute('open' ou 'print' et le nom du fichier mais je t'avoue ne plus trop savoir si c'est du VBA ou VB.NET et de toute la syntace. Au

A tout hasard j'ai ca dans un de mes programmes qui ouvre une page web

System.Diagnostics.Process.Start(string)

ou aussi ca dans du vba :

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String _
, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ShellExecute x, "print", NomFichier, "", "", 1

pour que ca fonctionne il faut que l'extension du fichier soit relier à un programme sinon ca ne marchera pas avant le lancement de ton programme, pour un PDF ou une page WEB ca devrait pas poser de problème ou un .doc enfin les extensions les plus courues.



bidouille007
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 janv. 2010 à 07:21
"open" plutot, sinon ca lance la commende d'impression si celle ci est renseignée dans la registry^^


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
cs_aljeth Messages postés 12 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 9 juillet 2011
23 janv. 2010 à 09:17
merci pour votre aide.

jeth
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
23 janv. 2010 à 13:56
si ton problème est résolu sympa de cocher la réponse acceptée

bidouille007
0
cs_aljeth Messages postés 12 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 9 juillet 2011
23 janv. 2010 à 14:09
bon pour solutionner mon problème, je pars sur une solution pas très pro mais qui traite mon souci. J'installe le fichier classeur1.xls sur mon dossier d'installation et j'utilise le code suivant :
Dim apExcel As Variant
Set apExcel = CreateObject("excel.application")
With apExcel
.Visible = True
.Workbooks.Open App.Path & "\classeur1.xls"

End With

(A défault de trouver mieux)

jeth
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
23 janv. 2010 à 14:17
Ta solution ne marchera que pour un fichier Excel je croyais que tu voulais quelque chose de plus généraliste

bidouille007
0
cs_aljeth Messages postés 12 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 9 juillet 2011
23 janv. 2010 à 14:28
bidouille mon appli est orientée ms office pour word et pp j'utilise :

Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True

Pour le reste tu as raison, je cherche toujours.

jeth
0
Rejoignez-nous