12 messages in org.openoffice.fr.progRe: [prog] Pointer doc sans l'ouvrir
FromSent OnAttachments
Laurent GodardOct 15, 2004 8:44 am 
JovialOct 15, 2004 8:44 am 
Alain NowakOct 15, 2004 8:48 am 
JovialOct 15, 2004 10:16 am 
Alain NowakOct 15, 2004 10:20 am 
JovialOct 15, 2004 10:50 am 
JovialOct 15, 2004 5:46 pm 
Laurent GodardOct 16, 2004 12:12 am 
Bernard MarcellyOct 16, 2004 3:43 am 
JovialOct 16, 2004 7:43 am 
JovialOct 19, 2004 3:42 pm 
JovialOct 20, 2004 1:48 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Pointer doc sans l'ouvrirActions...
From:Bernard Marcelly (marc@club-internet.fr)
Date:Oct 16, 2004 3:43:52 am
List:org.openoffice.fr.prog

At 2004-10-15 19:50, Jovial wrote:

Oui Merci Alain Si j'ai 2 documents ouverts et que je veux échanger des données entre eux (lecture écriture de cellules, ajout de lignes> lancement de macro....) il va falloir que je déclare Mondoc1 et Montdoc2 en Static afin de les mémoriser entre 2 appels de macro. Mais la première fois que j'ouvre mon document avec loadcomponent il faut donc que je vérifie si il n'est pas déja ouvert? et comment? Est ce la bonne procédure?

Si tu veux garder une information entre deux exécutions de macro (tel que par exemple deux lancements successifs par un clic d'icône ou un raccourci clavier), alors il faut déclarer ces variables en Global, en tête d'un module. Une variable Object est initialisée à Null. Donc il suffit de tester cela au début.

Global monDoc1 As Object

Sub maBelleMacro

if IsNull(monDoc1) then charger le document1 end if le reste du codage...

End Sub

En fin d'utilisation, ne pas oublier de fermer les documents et remettre à Null les variables globales :

Sub CestFini Dim mettreNull As Object

monDoc1.Close(true) monDoc1 = mettreNull End Sub

Ici l'astuce consiste à utiliser une variable objet non initialisée pour mettre la valeur Null , car l'instruction suivante renverrait une erreur, contrairement à un Variant: monDoc1 = Null ' utilisation incorrecte d'un objet

<pub> Références dans le livre Programmation OpenOffice.org : Accéder à un autre document, pp 155-156 Portée des variables, pp 50-52 Les variables statiques, p 103 Le type Variant, pp 64-68 </pub>

Bernard