Patrick_35 Posté(e) le 14 juin 2007 Posté(e) le 14 juin 2007 BravoCela va être utile à tous ceux qui utilisent openofficeMais c'est quand même surprenant cette histoire d'arguments. Je ne comprends pas pourquoi il faut balancer ces infos dans un document vierge :casstet: Pour l'ouverture d'un fichier, je comprends, mais un vierge ??? @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
GEGEMATIC Posté(e) le 14 juin 2007 Auteur Posté(e) le 14 juin 2007 Mais c'est quand même surprenant cette histoire d'arguments. Je ne comprends pas pourquoi il faut balancer ces infos dans un document vierge :casstet: Pour l'ouverture d'un fichier, je comprends, mais un vierge ???@+ D'autant plus que winfield n'en a pas besoins, avec le VBA !Mais apparement, l'API d'open office est déroutante pour les utilisateurs d'API Windows.Il reste à transcrire les primitives d'écriture lecture fermeture ... ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
GEGEMATIC Posté(e) le 16 juillet 2008 Auteur Posté(e) le 16 juillet 2008 Je ne suis pas allé plus loin dans oOo depuis 1 an, mais j'ai simplement eu besoin d'ouvrir un fichier csv avec oOo (J'ai l'habitude de stocker la valeur des variables lisp dans des fichier ini, avec [monnomdevar] etc ...finalement, on gagne à l'écrire en csv car c'est éditable) Je fonctionnais avec un startapp, mais le chemin de l'appli n'était plus valable:et la stupeur: très simple d'ouvrir un fcihier xls ou ods, mais pour un csv, rien!j'ai galéré pour trouver le bon paramètre et voilà les 2 versuion, une pour xls, et l'autre pour csvPw_slashit sert à transformer \\ ou \ en / ****************************************************************************** ;§/openoffice/ Ouvrir une feuille de calcul au format csv spécifiée en utilisant l'API OOo pour VB / feuille ;;site web de réference : ;;http://www.kalitech.fr/clients/doc/VB_APIOOo_fr.html ; (defun OpenCsvWithoOOsCalc ( feuille / Oprop openPar) (if (not feuille) (setq feuille (pw_slashit (getfiled "Feuille de calcul à charger : " (getvar "dwgprefix") "csv" 0)) ) ) (setq feuille (strcat "file:///" feuille )) ;;;Set serviceManager = CreateObject("com.sun.star.serviceManager") (setq serviceManager (vlax-create-object "com.sun.star.serviceManager") ) ;;Set Desktop = serviceManager.createInstance("com.sun.star.frame.Desktop") (setq Desktop (vlax-invoke-method serviceManager 'createInstance "com.sun.star.frame.Desktop" ) ) ;;;LoadParams:=VarArrayCreate([0,-1],varVariant); (setq openPar (vlax-make-safearray vlax-vbVariant '(0 . 2))) ;;;'On appelle la fonction setOOoProp définie précédemment pour récupérer la structure ;;; Set OpenPar(0) = setOOoProp("ReadOnly", True) ;;; ;(setq Oprop (setOOoProp "ReadOnly" :vlax-true)) (setq Oprop (setOOoProp "ReadOnly" :vlax-false)) (vlax-safearray-put-element openPar 0 Oprop) ;;;;;; Set OpenPar(2) = setOOoProp("Hidden", False) (setq Oprop (setOOoProp "Hidden" :vlax-false)) (vlax-safearray-put-element openPar 1 Oprop) ;;; - * - * ;; attention, ce qui suit est primordial pour ouvrir du csv avec openoffice: ;;;Dim oPropertyValue(0) As New com.sun.star.beans.PropertyValue ;;;oPropertyValue(0).Name = "FilterOptions" ;;;oPropertyValue(0).Value = "44" ;;; ;;;oDoc = starDeskTop.loadComponentFromURL( oUrl, "_blank", 0, oPropertyValue ) (setq Oprop (setOOoProp "FilterOptions" "44"));_ 44 pour , car (ascii ",") = 44 ;;; (setq Oprop (setOOoProp "FilterOptions" "59"));_59 pour ; (vlax-safearray-put-element openPar 2 Oprop) ;;; ;;;mFileProperties(0).Name = "FilterName" ;;; ;;;mFileProperties(0).Value = "scalc: Text - txt - csv (StarCalc)" ;;; (setq Oprop (setOOoProp "FilterName" "scalc: Text - txt - csv (StarCalc)")) ;;; (vlax-safearray-put-element openPar 3 Oprop) ;;; ;;;Set DocumentoOOo = Desktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, openPar) (Setq DocumentoOOo (vlax-invoke-method Desktop 'loadComponentFromURL feuille "_blank" 0 openPar ) ) ) ;****************************************************************************** ;§/openoffice/ Ouvrir une feuille de calcul spécifiée en utilisant l'API OOo pour VB / feuille ;;site web de réference : ;;http://www.kalitech.fr/clients/doc/VB_APIOOo_fr.html ; (defun OpenSpreadSheetWithoOOsCalc ( feuille / Oprop openPar) (if (not feuille) (setq feuille (pw_slashit (getfiled "Feuille de calcul à charger : " (getvar "dwgprefix") "ods;xls" 0)) ) ) (setq feuille (strcat "file:///" feuille)) ;;;Set serviceManager = CreateObject("com.sun.star.serviceManager") (setq serviceManager (vlax-create-object "com.sun.star.serviceManager") ) ;;Set Desktop = serviceManager.createInstance("com.sun.star.frame.Desktop") (setq Desktop (vlax-invoke-method serviceManager 'createInstance "com.sun.star.frame.Desktop" ) ) ;;;LoadParams:=VarArrayCreate([0,-1],varVariant); (setq openPar (vlax-make-safearray vlax-vbVariant '(0 . 1))) ;;;'On appelle la fonction setOOoProp définie précédemment pour récupérer la structure ;;; Set OpenPar(0) = setOOoProp("ReadOnly", True) ;;; ;(setq Oprop (setOOoProp "ReadOnly" :vlax-true)) (setq Oprop (setOOoProp "ReadOnly" :vlax-false)) (vlax-safearray-put-element openPar 0 Oprop) ;;;;;; Set OpenPar(1) = setOOoProp("Password", "secret") ;;; (setq Oprop (setOOoProp "Password" "secret")) ;;; (vlax-safearray-put-element openPar 1 Oprop) ;;;;;; Set OpenPar(2) = setOOoProp("Hidden", False) (setq Oprop (setOOoProp "Hidden" :vlax-false)) (vlax-safearray-put-element openPar 1 Oprop) ;;;Set DocumentoOOo = Desktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, openPar) (Setq DocumentoOOo (vlax-invoke-method Desktop 'loadComponentFromURL feuille "_blank" 0 openPar ) ) ) ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
Patrick_35 Posté(e) le 16 novembre 2010 Posté(e) le 16 novembre 2010 Salut J'aimerai savoir si tu as réussi à ouvrir un fichier avec Open Office en mode invisible.Normalement, avec les arguments Hidden et vlax-true, cela devrait fonctionner, mais nada.Il est possible ensuite de cacher le fichier, mais une fois ouvert, et je ne trouve pas cette solution terrible. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant