GEGEMATIC Posté(e) le 4 juin 2007 Posté(e) le 4 juin 2007 Salut,Je recherche un exemple, le plus simple possible, de connexion entre excel et autocad.L'extraction d'attributs ne m'interresse pas.ce que je recherche, c'est le moyen de piloter la couleur d'un objet à partir d'une feuille excel.Je suis un peu perdu par le nombre de possibilités existantes, et j'aimerai savoir laquelle est la plus appropriée.Je me souviens d'un exemple proposé par Patrick Emin, qui permettait de changer le rayon d'un cercle par excel:Je ne remets pas la main dessusdes souvenirs ? ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
Bred Posté(e) le 4 juin 2007 Posté(e) le 4 juin 2007 Salut,avec l'aide de Patrick_35 : ; Lancer une liaison avec Excel- (defun lancer_excel (vis / sel) (setq xl (vlax-get-or-create-object "Excel.Application")) (setq wks (vlax-get xl 'Workbooks)) (vlax-for sel wks (setq liste_fichiers_ouvert (append liste_fichiers_ouvert (list (strcase (vlax-get sel 'fullname))))) ) (if (equal vis 0) (vla-put-visible xl :vlax-False) (vla-put-visible xl :vlax-True) ) ) ;;;[b] Ouverture Excel + Nom de feuille puis 1 = visible, 0 = invisible -> (XL-Ouv-Feuill "chemin fichier" "Nom de feuille") -[/b] (defun [b]XL-Ouv-Feuill[/b] (Chem-fich Nom_feuil vis) (lancer_excel vis) (setq xl-fichier (vlax-invoke wks 'open Chem-fich)) (setq xl-classeur (vlax-get xl-fichier 'sheets)) (setq x 1) (repeat (vlax-get-property xl-classeur 'Count) (if (equal (vlax-get (vlax-get-property xl-classeur 'item x) 'name) Nom_feuil) (setq xl-feuille (vlax-get-property xl-classeur 'item x)) (setq x (+ x 1)) ) ) (vlax-invoke-method xl-feuille 'Activate) ) ;;; [b]Choix Cellule dans Excel - Ecriture Texte -> (XL-Put-Txt-Cell "Texte" "C4") -[/b] (defun [b]XL-Put-Txt-Cel[/b]l (Txt Cell) (vlax-put (vlax-get-property xl-feuille 'range Cell)'value2 Txt) ) ;;; [b]Choix de Cellule dans Excel (liste) - Lire Cellule -> (XL-Get-Val-Cell '("B1" "C4")) -[/b] ;;; -> Retourne liste résultat - (defun [b]XL-Get-Val-Cell[/b] (lst-Cell / x) (setq x 0 lst-val nil) (repeat (length lst-Cell) (setq lst-val (append lst-val (list (vlax-get (vlax-get-property xl-feuille 'range (nth x lst-Cell)) 'value2))) x (+ x 1)) ) lst-val ) ;[b] Fermer la liaison avec Excel[/b] (defun [b]XL-Close[/b] (/ ok sel) (if (not (member (strcase (vlax-get xl-fichier 'fullname)) liste_fichiers_ouvert)) (vlax-invoke-method xl-fichier 'close :vlax-false) ) (if liste_fichiers_ouvert (vla-put-visible xl :vlax-True) ) (foreach sel (list xl wks xl-fichier xl-classeur xl-feuille) (vlax-release-object sel) ) (setq xl nil wks nil xl-fichier nil xl-classeur nil xl-feuille nil) (gc)(gc) ) ) [Edité le 4/6/2007 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
GEGEMATIC Posté(e) le 5 juin 2007 Auteur Posté(e) le 5 juin 2007 Merci de ta réponse, mais ce n'est pas ce que je cherche:Cette methode concerne un pilotage d'excel par autocad.on trouve également des exemples d'extraction vers excel, puis de retour du resultat vers Autocad,mais ce n'est pas ce dont j'ai besoin.Ce dont j'ai besoin est là:http://acad.fleming-group.com/index.htmlmais le temps me manque pôur l'appliquer spécifiquement à excel, le tester ...c'est pourquoi j'ai appelé à l'aide, car si qq avait travaillé sur le sujet, j'aurais gagné beaucoup de temps ...En fait, il y a qq temps, j'ai posé la question de l'export au format Map HTML:J'ai des cartes thematiques à créer pour une association de lute contre l'incinération (c'est du bénévolat, qui commence à me prendre beaucoup de temps)Comme personnes n'avait ça, j'ai donc dévelloppé un export Map HTML, et tout ce qui va avec.Ces cartes sont en fait des polygones, dans lesquels j'ai injecté des données d'objet ADE.Mais ce syteme est lourd, peu pratique:car les données que l'on me transmet sont rarement très bien formatées, il y a déjà un gros boulot.je le fais sous excel, puis je l'intègre sous autocad via la lecture de fichier csvPour gagner du temps, (lors des nombreuses corrections...), j'aimerai piloter l'aspect de ma carte directement depuis excel:je verrai mieux mes données, ça supprimerait des étapes, pour moi ce serait plus simple.Il y a qq années, patrick Emin avait posté un exemple simple de liaison dynamique excel autocad,mais je ne le retrouve pas.Salut, ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
Patrick_35 Posté(e) le 5 juin 2007 Posté(e) le 5 juin 2007 SalutLa réponse de Bred me semble convenir à ta demande. :casstet: Même avec le lien que tu as donné, je ne comprends pas où tu veux en venir :exclam: @+ 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 5 juin 2007 Auteur Posté(e) le 5 juin 2007 Dans l'exemple de Patrick emin (s'il nous écoute, il se rappelle peut être ?),Le lien était dynamique:Je relie une entité à une ligne de la feuille excelL'exemple donné était une liaison avec un cercle:si sous excel je modifiais le rayon du cercle dans la cellule, le cercle était dynamiquement modifié dans autocad:C'est un lien dynamiqueJ'ai map 2006, il y a des outils de connexion pour ça, mais je ne suis pas arrivé à les faire fonctionner avec excelJ'ai la tête en marmelade, mais je vais être obligé de mettre les mains dans le cambouis... ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
Patrick_35 Posté(e) le 5 juin 2007 Posté(e) le 5 juin 2007 Donc, c'est depuis Excel que tu vas piloter autocad, et non le contraire.Tu aurais du être dans la rubrique vba. @+ 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 5 juin 2007 Auteur Posté(e) le 5 juin 2007 Je pensais pourtant être clair ... ce que je recherche, c'est le moyen de piloter la couleur d'un objet à partir d'une feuille excel. je vais aller voir dans VBAReflexion faite, le liens flemming semble ne pas marcher non plus:ça sert surtout à faire des requêtes SQL depuis une base.Je vais trouver, mais c'est une galère monstre ...Merci, A+Gégé ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
GEGEMATIC Posté(e) le 5 juin 2007 Auteur Posté(e) le 5 juin 2007 Bon, J'ai rien trouvé de "magique"Mais je suis tombé sur tes primitives de liaison excel Autocad (Je m'adresse à Patrick_35)dès l'instant qu'on peu lire et écrire dans une case excel, je peu bien fair l'effort d'actionner un bouton ->vers excel et un autre <-Vers Autocad ... faut pas charier !!Mais ça demande un peu de boulot.Et j'étais parti sur excel, que je n'utilise pas, parceque je pensais qu'il était seul à proposer une liaison dynamique avec Autocad.Mais ce n'est pas le cas.Du coup, j'ai vu le boulot de winfield, pour openoffice, et ça me parrait plus interressant de m'impliquer dans un developpement pour OOoMais je n'arrive pas à passer le 1er ecceuil, dans ma traduction laborieuse ... ;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")) Jusque là, ça vamais après : ;Set DocumentoOOo = Desktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, args) ;LoadParams:=VarArrayCreate([0,-1],varVariant); (setq args (vlax-make-safearray vlax-vbVariant '(0 . 1))) (Setq DocumentoOOo (vlax-invoke-method Desktop 'loadComponentFromURL "private:factory/scalc" "_blank" 0 args)) là ça plante, avec ce message:"Erreur Automation InterfaceOleWrapper_Impl::Invoke : \r\n[automationbridge]UnoConversionUtilities::createOleObjectWrapper \r\nThe VARIANT doesnot contain an object type! " Dommage, après la porte serait ouverte ...Des idées ?Gégé ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
Patrick_35 Posté(e) le 5 juin 2007 Posté(e) le 5 juin 2007 J'ai bien compris ta demande, mais c'est le mot dynamique qui me géne. D'ailleurs, ce sujet en parle. dès l'instant qu'on peu lire et écrire dans une case excel, je peu bien fair l'effort d'actionner un bouton ->vers excel et un autre <-Vers Autocad ... faut pas charier !! C'est ce que donne Bred :P dans ma traduction laborieuse C'est vrai que ce n'est pas facile, mais chapeau pour le début :) Et d'après la lecture de ce que mets, on dirait que la variable arg doit contenir au moins un élément. Un vlax-safearray-fill ou encore un vlax-safearray-put-element sur la variable arg devait logiquement convenir.N'ayant pas openoffice, difficile de tester. Peut-être qu'un module vba est intégré ?Si c'est le cas, ne cherche pas plus loin. un alt+f11 et l'explorateur d'objet devrait te faciliter la vieSinon, il reste un (vlax-dump-object Desktop T) qui normalement devrait donner de précieux renseignements @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
winfield Posté(e) le 5 juin 2007 Posté(e) le 5 juin 2007 N'ayant pas openoffice, difficile de tester Et pourtant c'est tellement simple de l'avoir........même pas besoin de le pirater ! http:// http://fr.openoffice.org/about-downloads.html à user et en abuser Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
GEGEMATIC Posté(e) le 6 juin 2007 Auteur Posté(e) le 6 juin 2007 J'ai bien compris ta demande, mais c'est le mot dynamique qui me géne. D'ailleurs, ce sujet en parle. Je finit par penser que l'exemple magique que je crois avoir vu n'est qu'un miragemaintenant, il doit être réalisable, en utilisant un evennement à l'echelle de windowJe parle un peu dans le flou, mais je pense que ce n'est pas accessible en VBA, ni en lisp, mais seulement avec un langage type VB, .NET ou CMaintenant on peut faire "comme si", en emulant ce lien:Coté Autocad, un reacteur qui déclanche une mise à jour d'excel,et coté Excel, un evenement qui déclanche une mise à jour d'Autocad Sinon, il reste un (vlax-dump-object Desktop T) qui normalement devrait donner de précieux renseignements Malheureusement, l'Objet Desktop ne reagit pas à vlax-dump-object !c'est toute la difficulté, on ne peut pas avoir d'info via l'explorateur d'objet:il faut se réferer à la doc de l'API OOo ...J'ai re-fait un tour sur les fonctions MAP DBCONNECT:C'est nul. Archi nul: ça ne gère que les entité BLOC ou TEXTE!J'entrevois les possibilité d'une liaison entre une simple feuille excel et n'importe quel type d'entité, et je me rends compte que je recherche ça depuis longtemps ... ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
Patrick_35 Posté(e) le 6 juin 2007 Posté(e) le 6 juin 2007 SalutJe ne suis pas certain que de travailler avec Excel et les réacteurs soit la meilleure solution car cela pose plusieurs problèmesJe modifie une entitéAppel Excel --> Ouvert/Pas ouvert + Recherche fichier ouvert ou pas + Recherche feuille si existante + Modif cellule + Sauvegarde ? + Fermer Excel ?Il faut songer que le fichier peut-être modifié manuellement, qu'excel peut-être fermé accidentellement et on est donc obligé de faire ces verifs à chaque fois.Je pense que cela ralentit énormement le dessin.C'est comme tu veux, en tout cas, je pourrai t'aider Si tu souhaites travailler avec Excel, tu as LXL qui lit ou écrit du texte dans une cellule et qui travaille avec des attributs. Je pense que la base peut-être là et qu'il ne reste pas grand chose à faire pour l'adapter à tes besoins.Sinon, je suis prêt aussi à faire l'effort (pour le bénévolat) de voir comment travailler avec openoffice (merci a winfield pour le lien. J'ignorai que c'était un free) @+ 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 6 juin 2007 Auteur Posté(e) le 6 juin 2007 SalutJe ne suis pas certain que de travailler avec Excel et les réacteurs soit la meilleure solution car cela pose plusieurs problèmesJe ne l'ai évoqué que comme une solution possible, mais pour moi, le jeu n'en vaut pas la chandelle:trop lourd, trop long, trop de bugs potentiels, et impossible à péréniser, avec des version différentes de 2 logiciels ... Si tu souhaites travailler avec Excel, tu as LXL qui lit ou écrit du texte dans une cellule et qui travaille avec des attributs. Je l'ai essayé, ça marche bien, mais le gros du programme se concentre sur la problematique du cartouche utilisateur. Donc les primitives que tu as diffusé me suffisent ... Sinon, je suis prêt aussi à faire l'effort (pour le bénévolat) de voir comment travailler avec openoffice (merci a winfield pour le lien. J'ignorai que c'était un free)@+ Si tu arrive à décoincer le début, après la voie et libre pour adapter les différents programmes disponibles.Je ne manquerait pas de publier le résultat de mon travail.mais je ne suis pas arrivé à passer le 1er barage, alors on en lest loin ...Pour l'instant, je n'envisage pas de développer sur la base d'excel, je préfère OpenOffice, que j'ai lui, sur tous mes postes ...A+Gégé ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
Patrick_35 Posté(e) le 6 juin 2007 Posté(e) le 6 juin 2007 le gros du programme se concentre sur la problematique du cartouche utilisateur. Non, le but est de lier des attributs à des cellules Excel. Que ce soit un cartouche ou autre chos.Pourquoi pas une pîèce avec une nomenclature Si tu arrive à décoincer le début Je te promet de regarder et d'essayer @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Patrick_35 Posté(e) le 7 juin 2007 Posté(e) le 7 juin 2007 Grrr....Moi non plus je n'y arrive pas :mad: J'ai même tenté de ruser avec(setq args (vlax-make-safearray vlax-vbVariant '(0 . 0))) (vlax-safearray-put-element args 0 "")mais rien n'y fait :( J'ai bien trouvé ceci pour ouvrir un document (writer ou calc, qu'importe. Pour le moment c'est le document vierge qui nous intéresse)Sub OuvreOOoDoc()RemRem Charger un document Writer, avec des paramètres d'ouverture (OpenPar)Rem Dim oSM, ODesk as Object 'Les objets de base de OOo Dim OpenPar(2) As Object 'Un tableau VB 'Instancie OOo : ces deux lignes sont obligatoires avec VB dans tout code ! Set oSM = CreateObject("com.sun.star.ServiceManager") Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop") 'On appelle la fonction setOOoProp définie précédemment pour récupérer la structure Set OpenPar(0) = setOOoProp("ReadOnly", True) Set OpenPar(1) = setOOoProp("Password", "secret") Set OpenPar(2) = setOOoProp("Hidden", False) 'On appelle la fonction OOo loadComponentFromURL, en lui passant en'dernier paramètre le résultat de la fonction setOOoProp Set r_doc = oDesk.loadComponentFromURL("file:///c|test.sxw", "_blank", 0, OpenPar) End SubMais pour un document vierge :casstet: Je continue.... @+ 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 8 juin 2007 Auteur Posté(e) le 8 juin 2007 Le plus simple serait peut être d'utiliser VLAX class, pour exporter vers vba des variables lisp (globales):document,feuille,case x,case Y,Valeur, et d'appeleler deux routines VBA (sans arguments), une pour ecrire valeur, l'autre pour lire valeur.c'est pas très beau, mais ça devrait marcher ... Et il suffit parfois qu'on se décide à contourner un obstacle, la rage au coeur, pour trouver comment le passer, une fois qu'on a vu sa face cachée ... ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
GEGEMATIC Posté(e) le 8 juin 2007 Auteur Posté(e) le 8 juin 2007 J'ai finit par appuiyer 2 fois:Je trouve cadXp très très lent ces jours ci:vous aussi, ou c'est mon poste, ma connexion ? [Edité le 8/6/2007 par GEGEMATIC] ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
winfield Posté(e) le 8 juin 2007 Posté(e) le 8 juin 2007 Mais pour un document vierge Je continue.... Essaye Dim serviceManager As Object Dim Desktop As Object, DocumentoOOo As Object Dim args() Dim ObjCalc As Object Set serviceManager = CreateObject("com.sun.star.serviceManager") Set Desktop = serviceManager.createInstance("com.sun.star.frame.Desktop") Set DocumentoOOo = Desktop.loadComponentFromURL("private:factory/ [surligneur]scalc" [/surligneur] , "_blank", 0, args) scalc =tableurswriter=traitement de texte.... Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
Patrick_35 Posté(e) le 8 juin 2007 Posté(e) le 8 juin 2007 c'est pas très beau, mais ça devrait marcher ... Oui, le principal est que cela fonctionne :P Set DocumentoOOo = Desktop.loadComponentFromURL("private:factory/ scalc" , "_blank", 0, args) Merci winfield, mais que je lance le tableur ou le traitement de texte, la procèdure est la même. La difficulté est de passer un tableau vierge en argument, chose que refuse actuelle openoffice :( @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
winfield Posté(e) le 9 juin 2007 Posté(e) le 9 juin 2007 Là, j'ai du mal comprendre :casstet: Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
Patrick_35 Posté(e) le 9 juin 2007 Posté(e) le 9 juin 2007 Tui peux me dire la différence de logique entre Set DocumentoOOo = Desktop.loadComponentFromURL("private:factory/ scalc" , "_blank", 0, args)et Set DocumentoOOo = Desktop.loadComponentFromURL("private:factory/ swriter" , "_blank", 0, args)à part de lancer le tableur ou le traitement de texte @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
winfield Posté(e) le 9 juin 2007 Posté(e) le 9 juin 2007 je faisais allusion à passer un tableau vierge en argument Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
Patrick_35 Posté(e) le 9 juin 2007 Posté(e) le 9 juin 2007 Et moi à Dim args() @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
winfield Posté(e) le 10 juin 2007 Posté(e) le 10 juin 2007 Dsl, je vois pas où est le problème du code que tu cites plus haut, à part surement une convertion malencontreuse de caractère Set r_doc =oDesk.loadComponentFromURL("file:///c|test.sxw", "_blank", 0, OpenPar) faut emplacer le pipe par le classique "c:\" Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
GEGEMATIC Posté(e) le 14 juin 2007 Auteur Posté(e) le 14 juin 2007 Bingo !La voie est libre: le mysterieux args s'appelle maintenant openpar , comme open parametre .car c'est de ces parametres d'ouvertures que ces veinards de VBAtistes n'ont pas besoin, alors que les vlispiens ne peuvent s'en passer. J'ai laissé en commentaire toutes les lignes VBA dont je me suis inspiré. ;****************************************************************************** ;§/openoffice/ Ouvrir une feuille de calcul vierge OOo en utilisant l'API OOo pour VB / none ;;site web de réference : ;;http://www.kalitech.fr/clients/doc/VB_APIOOo_fr.html ; (defun acad2oOOsCalc ( / Oprop openPar) ;;;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)) (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 2 Oprop) ;;;Set DocumentoOOo = Desktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, openPar) (Setq DocumentoOOo (vlax-invoke-method Desktop 'loadComponentFromURL "private:factory/scalc" "_blank" 0 openPar ) ) ) ;****************************************************************************** ;§/openoffice/ Paramétrer les propriétés d'un objet de l'API OOo en VB / cName uValue ;; Certaines propriétés d'objet de l'API OOo sont du type structure. ;;Pour des raisons liées à l'implémentation du pont UNO-Automation ;;(cf http://api.openoffice.org/docs/DevelopersGuide/ProfUNO/ProfUNO.htm#1+4+4+5+3+Usage+of+Types), ;;on ne peut passer directement une structure VB en argument d'une fonction de l'API OOo. A partir de VB, ;;il faut donc utiliser une fonction particulière de l'API (Bridge_GetStruct) ;;pour accéder aux structures et pouvoir ensuite passer cette structure à la fonction OOo (defun setOOoProp (cName uValue / oSM oPropertyValue) ;;;Function setOOoProp(cName, uValue) As Object ;;; ;;; Dim oPropertyValue As Object ;;; Dim oSM As Object ;;; ;;; Set oSM = CreateObject("com.sun.star.ServiceManager") (setq oSM (vlax-create-object "com.sun.star.serviceManager")) ;;; Set oPropertyValue = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue") (Setq oPropertyValue (vlax-invoke-method oSM 'Bridge_GetStruct "com.sun.star.beans.PropertyValue" ) ) ;;; oPropertyValue.Name = cName (vlax-put-property oPropertyValue 'Name cName) ;;; oPropertyValue.Value = uValue (vlax-put-property oPropertyValue 'Value uValue) ;;; ;;; Set setOOoProp = oPropertyValue ;;; ;;;End Function oPropertyValue ) ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
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