Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


Bonjour 

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide 
(http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de 
courrier électronique de façon que le demandeur reçoive une copie de votre réponse.


Email: - sebastien.ramsay@alpes-de-haute-provence.gouv.fr 
Sujet: - Calc ouverture multiples fichiers 
Question: - Bonjour, 
J'aie créé un bout de programme qui a pour but d'aller chercher des informations dans des fichiers 
calc identiques (un par nom).
Ce fichier Synthèse teste la présence des fichiers source, les ouvre s'ils existent, récuppère la 
donnée et referme le fichier source.

code :

Dim DocSource as object
Dim DocSynth as object
Dim Args(0) as new com.sun.star.beans.PropertyValue
dim oDesktop as Object
dim NomFichier,nom,pac as string
dim LDocSynth,LDocSource as integer
dim i as integer


sub TesteExistanceNomFichier

DocSynth = ThisComponent
oDesktop = createUnoService( "com.sun.star.frame.Desktop" )   
LDocSynth = 3
Args(0).name = "Hidden"
Args(0).value = true 

DocSynth.currentController.setActiveSheet(DocSynth.sheets(1))

for i = 4 to 10

NomFichier = DocSynth.sheets(0).getcellbyposition(5,i).string
nom = DocSynth.sheets(0).getcellbyposition(2,i).string
pac = DocSynth.sheets(0).getcellbyposition(3,i).string


        if FileExists (NomFichier) then

        DocSource = oDesktop.LoadComponentFromURL( NomFichier ,"_blank",0, Args())
                        
                for LDocSource = 7  to 30
                        if      DocSource.sheets(5).getcellbyposition(1,LDocSource).string <>"" then
                                LDocSynth = LDocSynth + 1
                                DocSynth.sheets(1).getcellbyposition(0,LDocSynth).string = nom
                                DocSynth.sheets(1).getcellbyposition(1,LDocSynth).string = pac
                                        for colsynth = 2 to 12
                                        
DocSynth.sheets(1).getcellbyposition(colsynth,LDocSynth).string = 
DocSource.sheets(5).getcellbyposition(colsynth-1,LDocSource).string 
                                        next colsynth
                        end if
                        
                        if      DocSource.sheets(5).getcellbyposition(1,LDocSource).string ="" then
                        DocSource.close(True)
                        wait(200)
                        exit for
                        end if
                
                next LDocSource

        DocSynth.sheets(0).getcellbyposition(6,i).string = "OK"
        
        end if
next i 

msgbox ("terminé")
end sub

quand je limite à 3 ou 4 fichiers, le code fonctionne, au delà libre office envoie un message 
d'erreur.

qu'est ce que j'oublie ? 

 


-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.