Bonjour
Encore une question de béotien...
Suite au programme de Papydall, concernant la surveillance du presse-papier j'ai voulu faire ceci :
Je dois à partir d'un texte (en fait l'histoire d'un village) extraire les noms de personnes et de lieux et les mettre dans un fichier Excel, afin d'en faire un index sous word.
Il y a bien sûr la solution de les prendre un par un (CTRL C et CTRL V) dans le fichier XLS. Mais je trouvais cela pénible.
J'ai donc voulu automatiser un peu cet exercice en adaptant le prog de Papydall. C'est brut de coffrage, mais il fonctionne.
A ceci prés que j'avais prévu de sortir du programme et fermer le fichier XLS en fasant un CTRL C du mot Fin. Ce mot est dans mon fichier xls préalablement créé sous excel.
Mais je n'arrive pas à sortir de cette boucle de surveillance...
Voici donc ces quelques lignes de prog :
- Code:
-
init()
cparti()
arret()
end
' ************************ Variables , label etc **************************
SUB Init()
dim tex$,lastcopy$
dim positexcel$,excelord$
dim x
label surveille
end_sub
' ---------------------------
' Ouverture du fichier Excel
' ---------------------------
sub cparti()
clipboard_string_copy "": ' vider le presse papieravant de démarrer
excel_start
wait 1500
excel_file_open 1,"D:\impression_pdf\nom_a_indexer.xlsx"
excelord$=excel_read$ ("A1")
timer 99
tex$ = clipboard_string_paste$ : ' Récuperer le contenu du presse-papier
if tex$="Fin"
message "C'est finipour l'instant !"
end_if
on_timer 99,surveille
end_sub
' rem =========================================================================
Surveille:
timer_off 99 : ' désactiver le TIMER
tex$ = clipboard_string_paste$ : ' Récuperer le contenu du presse-papier
if (tex$ <> LastCopy$) and (tex$ <> "") : ' Y a-t-il du nouveau ?
x=val(excelord$)+1
excelord$=str$(x)
positexcel$="B"+excelord$
excel_write positexcel$,tex$
LastCopy$ = tex$ : ' Sauvegarder ce texte pour la prochaine comparaison
end_if
clipboard_string_copy "" : ' vider le presse papier
timer_on 99 : ' Réactiver le TIMER
return
' rem =========================================================================
sub arret:
excelord$=str$(val(excelord$)+1))
positexcel$="A1"
excel_write positexcel$,excelord$
excel_file_close 1
end_sub
Si quelqu'un peut y jeter un œil je le remercie par avance.
Bonne journée