[R] Connexion DDE avec Lotus Notes

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jordane45
Niveau 2
Niveau 2
Messages : 28
Enregistré le : mer. 03 févr. 2010 12:13
Localisation : Orléans
Status : Hors ligne

[R] Connexion DDE avec Lotus Notes

#1

Message par jordane45 »

Bonjour,

Sauriez-vous comment lire (et aussi modifier si possible) les champs d'un document Lotus Notes ?

Actuellement je sais comment récuperer quelques informations comme le titre du document ou encore le texte selectionné
Pour ce faire j'utilise ce code :

Code : Tout sélectionner

    Global $oSession = ObjCreate("Notes.NotesSession")
    If Not Isobj($oSession ) Then
        MsgBox(0, "Erreur", "Impossible d'ouvrir le lien DDE ServiceCenter")
        Exit
    EndIf
$WorkSpace = ObjCreate("Notes.NotesUIWorkspace")
  $uidoc =$WorkSpace.CurrentDocument
  If Not $uidoc.EditMode Then $uidoc.EditMode = True
$Titre = $uidoc.WindowTitle
$txt = $uidoc.GetSelectedText()
MsgBox(0,"","Texte : " & $Txt & " Titre : "& $Titre)
 

Mon souci est le suivant :
Dans les documents en question, il y a des champs "ListBox" dont je n'arrive pas à lire le contenu (je ne sais pas comment les appeller.. ). Ces champs se présentent comme des "Boutons radios" pleins et lorsque l'on clique dessus cela affiche une liste déroulante dans un popup.

L'utilitaire WindoInfo ne me retourne aucune information lorsque je me place sur le bouton ni sur la fenêtre qui s'ouvre après avoir cliqué dessus.

Sauriez-vous comment "attaquer" ces champs ? comment les lire ?

Ps: Je suis en Lotus Notes 7.

Cordialement,
Jordane.

---------------------------------- EDIT du post -> Solution trouvée -------------------------------
EUREKA ! ^^
Bon.. j'ai trouvé.

Au cas où, voici comment je procède pour lire et modifier des champs directement dans un document notes.
nb: il faut avoir les droits en modifications pour que cela marche.

Code : Tout sélectionner

;------------------------------------------------------
; Connexion à la base Notes...
;------------------------------------------------------
    Global $oSession = ObjCreate("Notes.NotesSession")
    If Not Isobj($oSession ) Then
        MsgBox(0, "Erreur", "Impossible d'ouvrir le lien DDE ServiceCenter")
        Exit
    EndIf
  $WorkSpace = ObjCreate("Notes.NotesUIWorkspace")
  $uidoc =$WorkSpace.CurrentDocument
 
  If Not $uidoc.EditMode Then $uidoc.EditMode = True
; Titre du document
If $uidoc.EditMode Then
    ; titre du document 
    ToolTip($uidoc.WindowTitle,10,10,"Document")
        sleep(1000)
    
    ; Lecture d'un champ : (exemple : champ PROJET )
    $Champ_Projet=$uidoc.FieldGetText("Projet")
    
    ; Modification du champ PROJET
    $uidoc.FieldSetText("Projet","Nouvelle_Valeur")
Cordialement
Jordane
Dominux
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 30 mars 2010 15:14
Localisation : Nantes
Status : Hors ligne

Re: [R] Connexion DDE avec Lotus Notes

#2

Message par Dominux »

Salut,

cherches-tu nécessairement à travailler sur le document affiché ?
Sinon, pour changer une/des valeurs sur plusieurs documents, le plus judicieux est de travailler sur ceux en back-end (directement dans la base NSF).
jordane45
Niveau 2
Niveau 2
Messages : 28
Enregistré le : mer. 03 févr. 2010 12:13
Localisation : Orléans
Status : Hors ligne

Re: [R] Connexion DDE avec Lotus Notes

#3

Message par jordane45 »

Bonjour,

Je commence tout juste à comprendre comment manipuler Notes via AutoIT.
il me semblait plus simple de modifier le document "ouvert" mais depuis j'ai, en effet, vu d'autres possibilité comme travailler sur (je crois que ça porte ce nom) le dorsal plutot que le frontal.

En tout cas, merci pour ta réponse.

Cordialement,
jordane
Dominux
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 30 mars 2010 15:14
Localisation : Nantes
Status : Hors ligne

Re: [R] Connexion DDE avec Lotus Notes

#4

Message par Dominux »

on parle de Back-end pour le travail sur les documents directement sur la base NSF
et on parle de front-end pour le travail sur LE document ouvert dans le client Notes

La différence est que le Front-end est en mémoire dans le client Notes et donc asycnhrone avec les données réelles présentes dans la base.
Répondre