Re: [fr-users] [macro][calc]

2024-06-14 Par sujet Bernard Siaud alias Troumad

Le 14/06/2024 à 20:19, yves dutrieux a écrit :

(oups) inverser (1) et (2) pour comprendre ;)


J'avais déjà rajouté un second ".xlsx" à la fin du fichier pour éviter 
le problème.




Le ven. 14 juin 2024 à 18:00, yves dutrieux  a écrit :



Re,

Hum, peux-tu expliquer exactement comment tu fais car tu dis que c'est le
lien que tu utilises pour ouvrir le document.
Donc je suppose que lorsque ce dernier est ouvert, c'est un autre document
?
et ensuite tu essaies d'enregistrer (1) via ce nouveau document ou (2) via
le premier qui a servi à ouvrir ??
Si (1), dans le code, tu dois bien indiquer le nouveau document lorsque tu
enregistres (et pas activeworkbook par exemple.).
   Si (1) et que tu es avec sur le premier document, alors comme ton
nouveau document est ouvert, il y a risque d'erreur car le document est
déjà ouvert.
si (2), c'est donc la cellule de ce nouveau document qui contient aussi le
nom du fichier (lui-même donc ? )

C'est sûr qu'avec le document et le code, ce serait plus facile à
débugger


Il contient plus de 200 lignes d'informations confidentielles...

J'ai réduit le fichier et la macro au minimum :

https://troumad.org/OOo/temp1.ods

La macro proposée enregistre bien le document qui contient la macro, 
mais pas le document annexe que j'ai ouvert et modifié. Et, là, je ne 
vois pas comment faire.




Yves


--
Amicalement vOOotre  Troumad Alias Bernard SIAUD
mon site : http://troumad.org : AD maths WEB...
Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ 
N'envoyez que des documents avec des formats ouverts, comme 
http://fr.libreoffice.org


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy


Re: [fr-users] [macro][calc]

2024-06-14 Par sujet yves dutrieux
(oups) inverser (1) et (2) pour comprendre ;)

Le ven. 14 juin 2024 à 18:00, yves dutrieux  a écrit :

> Re,
>
> Hum, peux-tu expliquer exactement comment tu fais car tu dis que c'est le
> lien que tu utilises pour ouvrir le document.
> Donc je suppose que lorsque ce dernier est ouvert, c'est un autre document
> ?
> et ensuite tu essaies d'enregistrer (1) via ce nouveau document ou (2) via
> le premier qui a servi à ouvrir ??
> Si (1), dans le code, tu dois bien indiquer le nouveau document lorsque tu
> enregistres (et pas activeworkbook par exemple.).
>   Si (1) et que tu es avec sur le premier document, alors comme ton
> nouveau document est ouvert, il y a risque d'erreur car le document est
> déjà ouvert.
> si (2), c'est donc la cellule de ce nouveau document qui contient aussi le
> nom du fichier (lui-même donc ? )
>
> C'est sûr qu'avec le document et le code, ce serait plus facile à
> débugger
>
> Yves
>
> Le ven. 14 juin 2024 à 06:17, Bernard Siaud alias Troumad 
> a écrit :
>
>> Le 13/06/2024 à 23:34, yves dutrieux a écrit :
>> > Bonjour bernard,
>> >
>> > peux-tu nous indiquer ce qui se trouve exactement dans la cellule à la
>> > position 1,4 car d'après le message d'erreur, on dirait que tu ne
>> > mentionnes pas d'extension au nom du fichier, simplement un numéro ?
>>
>> Dans la case B5 :
>> file:///home/troumad/Cours_IUT/PF/notes_PF2-Soutenance_grtous.xlsx
>>
>> C'est déjà ce qui m'a servi à ouvrir le document.
>>
>>
>> >
>> > ci-dessous, une fonction bâtie sur du code retrouvé sur internet et
>> adapté.
>> >
>> > sub enregistredoc
>> > rem
>> --
>> > rem define variables
>> > dim document as object
>> > dim dispatcher as object
>> > dim oDoc as object
>> > dim oSheet as object
>> > dim oCell  as object
>> >
>> > dim sType as string
>> > dim vCont as variant
>> > ' recuperation du contenu de la cellule A1
>> > oDoc   = ThisComponent.CurrentController
>> > oSheet = oDoc.ActiveSheet
>> > oCell = oSheet.GetCellByPosition(0,0)
>> >
>> > rem
>> --
>> > rem get access to the document
>> > document = ThisComponent.CurrentController.Frame
>> > dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
>> > rem
>> --
>> > dim args1(1) as new com.sun.star.beans.PropertyValue
>> > args1(0).Name = "URL"
>> > 'args1(0).Value = "file:///c:/temp/temp.ods"
>> > 'args1(0).Value = ConvertToURL("C:\temp\temp1.ods")
>> > 'msgbox(oCell.string)
>> > args1(0).Value = ConvertToURL(oCell.string)
>> > args1(1).Name = "FilterName"
>> > args1(1).Value = "calc8"
>> >
>> > dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
>> >
>> > end sub
>> >
>> > Yves
>> >
>> > Le jeu. 13 juin 2024 à 14:47, Bernard Siaud alias Troumad <
>> li...@siaud.org>
>> > a écrit :
>> >
>> >> Bonjour
>> >>
>> >> Je n'arrive pas à sauvegarder un fichier ouvert et modifié par macro.
>> >>
>> >> Je vous montre l'ouverture, la fermeture et l'erreur générée.
>> >>
>> >>
>> >>
>> >> Voici ma version de libo :
>> >>
>> >> Version: 24.2.3.2 (X86_64)
>> >> Build ID: 420(Build:2)
>> >> CPU threads: 8; OS: Linux 6.6; UI render: default; VCL: gtk3
>> >> Locale: fr-FR (fr_FR.UTF-8); UI: fr-FR
>> >> Calc: threaded
>> >>
>> >>
>> >> J'essaie de sauver un fichier préalablement ouvert avec :
>> >>
>> >>
>>  
>> vNote=StarDesktop.LoadComponentFromUrl(ConvertToUrl(page.getCellByPosition(1,4).string),
>> >>
>> >>> "_blank",0, args())
>> >>>
>> >> Voici le code qui me gène :
>> >>
>> >>>   args0(0).Name = "FilterName"
>> >>>   args0(0).Value = "MS Excel 97"
>> >>>   vNote.storeAsURL(
>> >>> ConvertToURL(ConvertToURL(page.getCellByPosition(1,4).string)),
>> args0())
>> >> Voici l'erreur qui arrive dans une boite de dialogue :
>> >>
>> >> Erreur d'exécution basic.
>> >>
>> >> une exception s'est produite :
>> >>
>> >> Type: com.sun.star.task.ErrorCodeIOExpetion
>> >>
>> >> Message: SFxBASEModel::impl_store  failed:
>> 0x507(Error
>> >>
>> >> Area:Io Class:Access Code:7)
>> >>
>> >>
>> at/home/iurt/rpmbuild/BUILD/libreoffice-24.2.3.2/sfx2/source/doc/sfxmodel.cxx:3274
>> >>
>> >>
>> >> Le message est presque le même avec les versions 7.6 et 24 livrées par
>> >> documentfondation.
>> >>
>> >> --
>> >> Amicalement vOOotre  Troumad Alias Bernard SIAUD
>> >> mon site : http://troumad.org : AD maths WEB...
>> >> Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/
>> >> N'envoyez que des documents avec des formats ouverts, comme
>> >> http://fr.libreoffice.org
>> >>
>> >> --
>> >> Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous
>> >> désinscrire
>> >> Les archives de la liste sont disponibles à
>> >> https://listarchives.libreoffice.org/fr/users/
>> >> Privacy Policy: https://www.documentfoundation.org/privacy
>> >>
>> >
>>
>> --
>> Amicalement vOOotre  

Re: [fr-users] [macro][calc]

2024-06-14 Par sujet yves dutrieux
Re,

Hum, peux-tu expliquer exactement comment tu fais car tu dis que c'est le
lien que tu utilises pour ouvrir le document.
Donc je suppose que lorsque ce dernier est ouvert, c'est un autre document ?
et ensuite tu essaies d'enregistrer (1) via ce nouveau document ou (2) via
le premier qui a servi à ouvrir ??
Si (1), dans le code, tu dois bien indiquer le nouveau document lorsque tu
enregistres (et pas activeworkbook par exemple.).
  Si (1) et que tu es avec sur le premier document, alors comme ton nouveau
document est ouvert, il y a risque d'erreur car le document est déjà ouvert.
si (2), c'est donc la cellule de ce nouveau document qui contient aussi le
nom du fichier (lui-même donc ? )

C'est sûr qu'avec le document et le code, ce serait plus facile à
débugger

Yves

Le ven. 14 juin 2024 à 06:17, Bernard Siaud alias Troumad 
a écrit :

> Le 13/06/2024 à 23:34, yves dutrieux a écrit :
> > Bonjour bernard,
> >
> > peux-tu nous indiquer ce qui se trouve exactement dans la cellule à la
> > position 1,4 car d'après le message d'erreur, on dirait que tu ne
> > mentionnes pas d'extension au nom du fichier, simplement un numéro ?
>
> Dans la case B5 :
> file:///home/troumad/Cours_IUT/PF/notes_PF2-Soutenance_grtous.xlsx
>
> C'est déjà ce qui m'a servi à ouvrir le document.
>
>
> >
> > ci-dessous, une fonction bâtie sur du code retrouvé sur internet et
> adapté.
> >
> > sub enregistredoc
> > rem
> --
> > rem define variables
> > dim document as object
> > dim dispatcher as object
> > dim oDoc as object
> > dim oSheet as object
> > dim oCell  as object
> >
> > dim sType as string
> > dim vCont as variant
> > ' recuperation du contenu de la cellule A1
> > oDoc   = ThisComponent.CurrentController
> > oSheet = oDoc.ActiveSheet
> > oCell = oSheet.GetCellByPosition(0,0)
> >
> > rem
> --
> > rem get access to the document
> > document = ThisComponent.CurrentController.Frame
> > dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
> > rem
> --
> > dim args1(1) as new com.sun.star.beans.PropertyValue
> > args1(0).Name = "URL"
> > 'args1(0).Value = "file:///c:/temp/temp.ods"
> > 'args1(0).Value = ConvertToURL("C:\temp\temp1.ods")
> > 'msgbox(oCell.string)
> > args1(0).Value = ConvertToURL(oCell.string)
> > args1(1).Name = "FilterName"
> > args1(1).Value = "calc8"
> >
> > dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
> >
> > end sub
> >
> > Yves
> >
> > Le jeu. 13 juin 2024 à 14:47, Bernard Siaud alias Troumad <
> li...@siaud.org>
> > a écrit :
> >
> >> Bonjour
> >>
> >> Je n'arrive pas à sauvegarder un fichier ouvert et modifié par macro.
> >>
> >> Je vous montre l'ouverture, la fermeture et l'erreur générée.
> >>
> >>
> >>
> >> Voici ma version de libo :
> >>
> >> Version: 24.2.3.2 (X86_64)
> >> Build ID: 420(Build:2)
> >> CPU threads: 8; OS: Linux 6.6; UI render: default; VCL: gtk3
> >> Locale: fr-FR (fr_FR.UTF-8); UI: fr-FR
> >> Calc: threaded
> >>
> >>
> >> J'essaie de sauver un fichier préalablement ouvert avec :
> >>
> >>
>  
> vNote=StarDesktop.LoadComponentFromUrl(ConvertToUrl(page.getCellByPosition(1,4).string),
> >>
> >>> "_blank",0, args())
> >>>
> >> Voici le code qui me gène :
> >>
> >>>   args0(0).Name = "FilterName"
> >>>   args0(0).Value = "MS Excel 97"
> >>>   vNote.storeAsURL(
> >>> ConvertToURL(ConvertToURL(page.getCellByPosition(1,4).string)),
> args0())
> >> Voici l'erreur qui arrive dans une boite de dialogue :
> >>
> >> Erreur d'exécution basic.
> >>
> >> une exception s'est produite :
> >>
> >> Type: com.sun.star.task.ErrorCodeIOExpetion
> >>
> >> Message: SFxBASEModel::impl_store  failed: 0x507(Error
> >>
> >> Area:Io Class:Access Code:7)
> >>
> >>
> at/home/iurt/rpmbuild/BUILD/libreoffice-24.2.3.2/sfx2/source/doc/sfxmodel.cxx:3274
> >>
> >>
> >> Le message est presque le même avec les versions 7.6 et 24 livrées par
> >> documentfondation.
> >>
> >> --
> >> Amicalement vOOotre  Troumad Alias Bernard SIAUD
> >> mon site : http://troumad.org : AD maths WEB...
> >> Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/
> >> N'envoyez que des documents avec des formats ouverts, comme
> >> http://fr.libreoffice.org
> >>
> >> --
> >> Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous
> >> désinscrire
> >> Les archives de la liste sont disponibles à
> >> https://listarchives.libreoffice.org/fr/users/
> >> Privacy Policy: https://www.documentfoundation.org/privacy
> >>
> >
>
> --
> Amicalement vOOotre  Troumad Alias Bernard SIAUD
> mon site : http://troumad.org : AD maths WEB...
> Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/
> N'envoyez que des documents avec des formats ouverts, comme
> http://fr.libreoffice.org
>
> --
> Envoyez un mail à