Macro Attachmate / Extraction données en fichier texte
ken Hutchinson
Messages postés7Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention 8 décembre 2006
-
6 déc. 2006 à 15:57
ken Hutchinson
Messages postés7Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention 8 décembre 2006
-
8 déc. 2006 à 08:00
Bonjour,
J'espère être dans le bon endroit...
j'utilise une appli Attachmate pour avoir des données chiffrées. On tape une ligne de code et on obtient un résultat. Je veux copier ce résultat et l'enregistrer sour forme de fichier TXT en créant un nouveau fichier txt. Apparemment on pourrait passer par le presse papier de windows. Mais je galère pas mal...
Voici un exemple :
' Global variable declarations
Global g_HostSettleTime%
Sub Main()
'--------------------------------------------------------------------------------
' Get the main system object
Dim Sessions As Object
Dim System As Object
Set System = CreateObject("EXTRA.System") ' Gets the system object
If (System is Nothing) Then
Msgbox "Could not create the EXTRA System object. Stopping macro playback."
STOP
End If
Set Sessions = System.Sessions
If (Sessions is Nothing) Then
Msgbox "Could not create the Sessions collection object. Stopping macro playback."
STOP
End If
'--------------------------------------------------------------------------------
' Set the default wait timeout value
g_HostSettleTime = 3000 ' milliseconds
OldSystemTimeout& = System.TimeoutValue
If (g_HostSettleTime > OldSystemTimeout) Then
System.TimeoutValue = g_HostSettleTime
End If
' Get the necessary Session Object
Dim Sess0 As Object
Set Sess0 = System.ActiveSession
If (Sess0 is Nothing) Then
Msgbox "Could not create the Session object. Stopping macro playback."
STOP
End If
If Not Sess0.Visible Then Sess0.Visible = TRUE
Sess0.Screen.WaitHostQuiet(g_HostSettleTime)
' This section of code contains the recorded events
Sess0.Screen.Sendkeys("LA LIGNE DE CODE QUE JE TAPE<Enter>")
Sess0.Screen.WaitHostQuiet(g_HostSettleTime)
ken Hutchinson
Messages postés7Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention 8 décembre 2006 6 déc. 2006 à 16:15
Oula mais je ne sais pas ça....
en fait je valide la ligne de code, ça efface l'écran, et une réponse arrive, je veux la copier et enregistrer en fichier txt sur mon disque... après je remettrais ça en forme dans Excel.
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 6 déc. 2006 à 16:28
Salut au fait! Ton screen.Copy c'est un imprime écran? T'as réponse elle d'ou et sous quelle forme? Est ce que tu peux intercepter cette réponse et la mettre dans une variable? Comment tu connais la réponse? C'est un peu flou!
Drikce 06
Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
ken Hutchinson
Messages postés7Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention 8 décembre 2006 6 déc. 2006 à 16:43
Ok...
Le sreen.copy c'est quand je surligne tout l'écran avec ma souris et que je clique droit "COPIER".
La réponse vient d'un serveur et je ne peux pas l'intercepter. Elle apparait simplement à) l'écran et je peux la copier/coller comme je veux, intégralement ou en partie.
c'est un peu comme si tu tapais des lignes de code dans le notepad, et qu'en faisant ENTREE tu avais la réponse dans le notepad sans tableau ni rien
Tu as déjà vu les écrans d'agence de voyages ? ben c'est pareil..
ken Hutchinson
Messages postés7Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention 8 décembre 2006 7 déc. 2006 à 08:22
Salut,
Bon la macro colle bien des données dans le fichier qu'elle créé et ce sont les données du presse papier de windows. En clair elle ne copie pas l'écran dans le presse papier. Donc ma ligne de code Sess0.screen.copy ne copie pas l'écran au bon endroit ou ne le copie pas du tout. Il faudrait que je connaisse le code pour copier mon écran vers le presse papier...