VBA - inserer un controle tableau dans un property manager

Bonjour

 

Je suis en train de creer un PropertyManager dans une macro en VB, j'aimerai  inserer un controle identique à celui de la fonction Hélice/Spirale (le tableau P/Rév/H/Dia), est ce possible ?.

 

Merci


property_manager.jpg

Bonjour,

 

Qu'entends tu par créer un PropertyManager ?

 

Je pense que c'est impossible d'avoir un tableau de ce type par une macro.

 

La seule solution envisageable serait d'utiliser un tableau Excel (ou .csv) externe.

Bonjour,

Je n'ai pas encore créer de property manager pour mes macros.

Je ne peux pas te répondre comme ça, je vais regarder ce qu'il est possible faire.

C'est le panneau qui s'affiche quand on crée/modifie une fonction,avec VB on peut créer un property manager comprenant des boites de texte, des listes déroulantes, etc... comme dans cette exemple

Create PropertyManager Page With Many Controls Example (VBA)

 

Je pense que le controle que je veux existe en utilisant un controle activex ou dans une bibliothèque mais je ne sais pas laquelle.

 


macro_property_manager.jpg

Dans l'aide SolidWorks à ce propos, il détaille la liste des disponibles :

http://goo.gl/lmZd7u

 

What is available?

The SolidWorks API provides:

See Controls on Multipage PropertyManager Page for details about programming controls on a multipage PropertyManager page.

 

Donc en effet ça doit passer par un ActiveX.

 

Pour débuter : http://msdn.microsoft.com/en-us/library/aa751972%28v=vs.85%29.aspx

 

Pour encapsuler un fichier Excel en ActiveX :

http://stackoverflow.com/questions/224044/need-activex-control-to-embed-excel-into-a-dialog

 

Si tu connais déjà ActiveX, ça devrait pas trop poser problème ! Bon courage !

1 « J'aime »

J'ai retrouvé les mêmes infos que Lucas dans l'aide.

Pour les contrôle ActiveX je ne pourrais pas t'aider.

Bon courage et tiens nous au courant.

Salut,

 

Ce n'est pas possible avec les controls standard SolidWorks

 

Le plus simple c'est de créer un addins en .net et de créer le tableau dans un UserControl avec les control standard .Net.

 

Ensuite pour le rajouter dans le PPM ton userControl utilise l'api AddControl Method (IPropertyManagerPage2) avec comme type un swControlType_WindowFromHandle.

 

Tu aura juste a instancier ton Usercontroler et à passer ton Handler avec ce code :

 

ocontrol.SetWindowHandle(oUserControl.Handle.ToInt64())

 

et ton userControl .Net apparaitera dans ton PMP.

 

A+

 

Philippe

4 « J'aime »

Bonjour 

 

Il existe un exemple dans l'aide API

rechercher "Create PropertyManager Page With Many Controls Example (VBA)"

 

Pour voir l'exemple d'activeX avec le control MSACAL.Calendar de micirsoft

 

 

7 « J'aime »

Il va falloir que je me mette au .Net, le probleme c'est que je n'ai que VB. Je vais trouver un autre moyen

Merci prossignol

 

1 « J'aime »

Bonjour jfaradon

J'avais vu l'exemple, je cherchais la meme chose avec un tableau excel à la place du calendrier.

J'ai justement commencé un tutoriel sur le .NET. y.pacquelet !

Je te rassure, c'est très proche du VB !

Visual Studio Express est gratuit (je ne connais pas la différence avec la version payante), il faut télécharger la version Windows Desktop.

 

Voilà le tutoriel :

http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-vb-net

1 « J'aime »

Bonjour,

 

Ci-joint un exemple d'addins VB.net du SDK SolidWorks avec un exemple de PMP.

 

A+

 

Philippe


swvbaddin1.zip
6 « J'aime »

Merci à tous pour vos réponses, je vais étudier tout ça.