Aller au contenu

Messages recommandés

Posté(e)

Bravo

Cela va être utile à tous ceux qui utilisent openoffice

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 ???

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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.fr

Blog: http://g-eaux.over-blog.com

  • 1 an après...
Posté(e)

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 csv

Pw_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.fr

Blog: http://g-eaux.over-blog.com

  • 2 ans après...
Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité