Changement de focus d'application en VBA (Court, mais intense) [Résolu]

Messages postés
11
Date d'inscription
lundi 24 mai 2004
Dernière intervention
6 avril 2005
- - Dernière réponse : cs_Warning
Messages postés
517
Date d'inscription
samedi 3 février 2001
Dernière intervention
24 octobre 2006
- 28 mars 2005 à 13:52
Voici mon problème,

Tout cela en VBA

Je veux pouvoir changer d'application, puis revenir sous word pour y coller les données récuperés.

J'ai récuperé une script VBS qui fait exactement ce que je veux mais je n'arrive pas à le faire fonctionner, je pense que vous savez peut être pourquoi.

Set obj_ie = CreateObject("InternetExplorer.Application")
obj_ie.Navigate("about:blank")
Set obj_wsh = WScript.CreateObject("WScript.Shell")

Cela fait je récupère les données en faisant de la facon suivante :

obj_wsh.SendKeys "{TAB}^c"
str_character = obj_ie.document.parentwindow.clipboardData.GetData("text")

Ca fonctionne parfaitement dans mon VBS, mais pas en VBA, le premier problème ce situe à ce niveau la :
Set obj_wsh = WScript.CreateObject("WScript.Shell")

Sinon autre question, seriez vous comment faire pour lancer un script VBS depuis Word, la commande shell() ne semble pas vouloir fonctionner avec l'extension .VBS

Merci d'avance aux bonnes ames qui pourront m'aider !!
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
517
Date d'inscription
samedi 3 février 2001
Dernière intervention
24 octobre 2006
3
Merci
Essai de remplacer
Set obj_wsh = WScript.CreateObject("WScript.Shell")

Par
Set obj_wsh = CreateObject("WScript.Shell")

ou
Set obj_wsh = CreateObject("Shell")

Parce qu'en fait WScript n'est utilisé que par les scripts vbs ou js.


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Messages postés
517
Date d'inscription
samedi 3 février 2001
Dernière intervention
24 octobre 2006
3
Merci
Sinon tu peux encore remplacer directement:
Set obj_wsh = WScript.CreateObject("WScript.Shell")
obj_wsh.SendKeys "{TAB}^c"

par :
SendKeys "{TAB}^c"

Car sendkeys est deja implementé dans VB et VBA.


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Messages postés
11
Date d'inscription
lundi 24 mai 2004
Dernière intervention
6 avril 2005
0
Merci
Merci pour ton aide, en effet cela fonctionne directemement.

J'ai maintenant un dernier problème au niveau de la récupération de donnée :

Je voudrais pouvoir stocker dans une variable ce que je récupère en faisant un SendKeys "{TAB}^c"

Malheuresement je n'arrive pas à utiliser le clipboard de Word...

J'ai trouvé cette ligne, mais cela ne fonctionne pas, visiblement il faut que je déclare un objet mais je ne sais pas comment m'y prendre...

str_character = Clipboarddata.GetDataObject.GetData(DataFormats.Text).ToString()

Merci d'avance pour ceux qui auront une idée :)
Messages postés
517
Date d'inscription
samedi 3 février 2001
Dernière intervention
24 octobre 2006
0
Merci
tu met cette fonction quelque part après ta procedure:
Public Function GetOffClipboard() As Variant
Dim MyDataObj As New DataObject
MyDataObj.GetFromClipboard
GetOffClipboard = MyDataObj.GetText()
End Function

puis tu l'utilise dans ta procedure:
str_character
= CStr(GetOffClipboard)


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.