Page 1 sur 1
[R] Pointer un fichier dans l'explorateur
Posté : mer. 17 févr. 2010 12:57
par petitmarco
Bonjour à tous
Je dois copier un fichier dans un dossier situé dans un espace Quickr (lotus) via un connecteur intégré à l'explorateur. Le problème est que le connecteur ne renvoie pas le chemin complet, la fonction FILECOPY ne fonctionne pas dans ce cas. J'ai donc penser pouvoir sélectionner mon fichier et faire un Send("{CTRLDOWN}c{CTRLUP}"), mais là aussi, je n'arrive pas à pointer le fichier pour le placer dans en mémoire.
Ma demande consiste donc à pouvoir placer un fichier en mémoire, ou à pointer ce fichier dans l'explorateur (comme une sélection)
Est-ce possible ?
Merci de vos réponses éventuelles
Re: [..] Pointer un fichier dans l'explorateur
Posté : mer. 17 févr. 2010 19:01
par Tlem
Pas évident, car il faudrait dans ce cas faire une reconnaissance de l'espace de travail à la recherche d'une image de dossier avec le nom du dossier. Autant dire que c'est pas des plus fiable.
A quoi ressemble cet espace ou ce trouve les fichiers ?
Re: [..] Pointer un fichier dans l'explorateur
Posté : jeu. 18 févr. 2010 14:31
par petitmarco
Avant tout, merci de ton intérêt
Je n'est pas de problème pour ouvrir le dossier Source depuis le Poste de travail et le dossier de destination sur le connecteur Quickr
Le problème est de placer le fichier connu dans poste de travail, en mémoire via un Copier, car je ne sais pas comment pointer ce fichier
Faire un copier/coller fonctionne manuellement, mais comment le traduire en code AutoIt ?
Voici le code pour info
► Afficher le texte
Code : Tout sélectionner
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
Global $chem1,$quickr,$search
$chem1="\\fr_data\PARTAGES\PLANNING\PLANNING MUTUALISE"
$quickr="Lotus Quickr\Espaces d'équipes\planning"
;~ ************* Vérifiaction si le fichier connu existe
If not FileExists($chem & "\" & "planning.htm")
MsgBox(16, "Erreur", "Pas de fichiers HTM trouvés")
exit
EndIf
;~ ************* Vérifiaction si le connecteur est démarré
If not ProcessExists("dimon.exe") Then
MsgBox(16, "Erreur DIMON.exe ", "Le moniteur QuickR n'est pas lancé" & chr(10) & chr(10) & "Le Processus DIMON.exe (non actif) est nécessaire" & chr(10) & chr(10) & "Veuillez relancé 'Lotus QuickR'")
Exit
EndIf
;~ ******************************************On ouvre l'explorateur avec le chemin Source $chem1
run ("explorer.exe " & $chem1)
WinWaitActive($chem1,"",5)
If Not WinActive($chem1,"") Then
MsgBox(16, "Erreur", "Le chemin n'existe pas ou l'explorateur n'a pas démarré")
exit
endif
;~ ****************************************** Je place en mémoire le fichier planning.htm (comme un CTRL+C)
;~ ?????????????????????????????????????
;~ ?????????????????????????????????????
;~ ??????????? COMMENT ON FAIT ?????????
;~ ?????????????????????????????????????
;~ ?????????????????????????????????????
;~ Send("{CTRLDOWN}c{CTRLUP}{LWINDOWN}{LWINUP}")
;~ ****************************************** Je démarre mon connecteur Quickr
Send("{LWINDOWN}e{LWINUP}")
WinWaitActive("Poste de travail","",5)
If Not WinActive("Poste de travail","") Then
MsgBox(16, "Erreur", "Le poste de Travail n'a pas été lancé")
exit
endif
;~ ****************************************** Je place le 'pseudo' chemin du dossier source
;~ ****************************************** En effet, Lotus ne travail sur des dossier, mais des fichier .NFS (ou base NFS)
ControlFocus("[CLASS:ExploreWClass]", "", "Edit1")
send($quickr)
send("{ENTER}")
;~ ****************************************** Je colle le fichier que j'ai Copier plus haut
Send("{CTRLDOWN}v{CTRLUP}{CTRLDOWN}v{CTRLUP}")
Exit
ET une copie d'écran du connecteur Quickr
Re: [..] Pointer un fichier dans l'explorateur
Posté : jeu. 18 févr. 2010 18:14
par Tlem
Vu la capture d'écran, je suis presque sur qu'il vous est possible de faire une simple copie du fichier concerné vers ce 'connecteur', mais il faudrait connaitre le nom spécial du dossier (ce qui n'est sans doute pas évident).
Sinon, pour contourner le problème, ouvrez une fenêtre explorer vers le dossier contenant votre fichier, puis envoyez une séquence de touche correspondant au nom du fichier.
Cela devrait sélectionner le fameux fichier. Ensuite une séquence de touche pour le CTRL + C.
Après même chose pour le connecteur en lançant l'explorer et en utilisant des séquences de touche pour atteindre le répertoire et enfin la séquence CTRL + V pour coller le fichier.
Voilà basiquement comment vous pourriez faire. Mais si vous trouvez une solution pour faire de la copie directe, ce serait quand même bien plus fiable.
[R] Pointer un fichier dans l'explorateur
Posté : lun. 22 févr. 2010 16:50
par petitmarco
Tlem a écrit :
Sinon, pour contourner le problème, ouvrez une fenêtre explorer vers le dossier contenant votre fichier, puis envoyez une séquence de touche correspondant au nom du fichier.
Cela devrait sélectionner le fameux fichier. Ensuite une séquence de touche pour le CTRL + C.
Après même chose pour le connecteur en lançant l'explorer et en utilisant des séquences de touche pour atteindre le répertoire et enfin la séquence CTRL + V pour coller le fichier.
Et bien finalement, après avoir tourner le problème dans tous les sens, la solution avec envoi de "séquences de touches" et la seule alternative qui fonctionne, malgré que cela soit un peu lourd d'un point vue visuel.
Merci à toi Tlem pour cette piste.
Bonne continuation