Annotation en VBA plusieurs lignes et plusieurs typos

vos questions concernant les API SolidWorks

Annotation en VBA plusieurs lignes et plusieurs typos

Messagepar TauLieR » Mar 14 Aoû 2012, 14:50

Bonjour à tous,

J'ai vu dans un autre sujet qu'il était possible d'écrire :

Code: Tout sélectionner
Set Note = Part.InsertNote _
       ("<FONT size=12PTS>Casser les aretes")


Sur le même principe, je voudrais faire ceci :

Code: Tout sélectionner
Set Note = Part.InsertNote _
       ("<FONT size=20PTS><FONT Underline = 1>Texte souligné" & Chr(13) & Chr(10) & _
       "<FONT size=15PTS><FONT Bold = 1>Texte en gras" & Chr(13) & Chr(10) & _
       "<FONT size=10PTS><FONT Italic = 1>Texte en italique"


Avec une différente taille de texte et mise en forme différente (souligné, gras, italique)

Si c'est possible, merci de m'expliquer comment faire car je m'arrache les cheveux.

Je ne souhaite pas passer par le TextFormat car ce texte doit être impérativement être écrit dans la même annotation.
Je souhaite éviter, autant que faire ce peux, d'écrire 3 annotations différentes pour écrire sur 3 lignes.

En vous remerciant par avance de bien vouloir m'éclairer sur le sujet !

Ps: voici les infos dont vous auriez peut-être besoin :

Code: Tout sélectionner
Dim Note As Object
Dim Annotation As Object
Dim TextFormat As Object

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.ActivateView("Vue de mise en plan1")

Set Note = Part.InsertNote _
       ("<FONT size=20PTS Bold=0 underline=1 italic=0>Texte souligné" & Chr(13) & Chr(10) & _
       "<FONT size=15PTS Color=blue>Texte en gras" & Chr(13) & Chr(10) & _
       "<FONT size=10PTS Color=green>Texte en italique")
If Not Note Is Nothing Then
   Note.Angle = 0
   boolstatus = Note.SetBalloon(0, 0)
   Set Annotation = Note.GetAnnotation()
   If Not Annotation Is Nothing Then
      longstatus = Annotation.SetLeader2(False, 0, True, False, False, False)
      boolstatus = Annotation.SetPosition(0.02518650079063, 0.2440632484823, 0)
      boolstatus = Annotation.SetTextFormat(0, True, TextFormat)
   End If
End If


TauLieR.
TauLieR
Ewok SolidWorks
 
Messages: 6
Inscription: Jeu 09 Aoû 2012, 8:05

Messagepar MarcS » Mar 14 Aoû 2012, 20:35

il ont enlever un command elle est OBSOLETE (SetTextFormatAtIndex)

For I = 1 To Note.GetTextCount
Set swTextFormat = Note.GetTextFormatAtIndex(I)
If I = 1 Then
swTextFormat.Underline = True
ElseIf I = 2 Then
swTextFormat.Bold = True
end if
boolstatus = Note.SetTextFormatAtIndex(1, swTextFormat)
Next I
Avatar de l’utilisateur
MarcS
Chevalier Jedi SolidWorks
 
Messages: 311
Inscription: Mar 06 Jan 2009, 20:10
Localisation: Quebec, Quebec SolidWorks 2017 SP 1.0 & SolidWorks 2014 SP 2.0

Messagepar TauLieR » Ven 24 Aoû 2012, 19:03

Ok super merci !

Je teste çà lundi au boulot et je vois si ca marche.... ou tout du moins si j'arrive à m'en sortir :)

Merci beaucoup !
TauLieR
Ewok SolidWorks
 
Messages: 6
Inscription: Jeu 09 Aoû 2012, 8:05

Messagepar TauLieR » Lun 27 Aoû 2012, 15:39

Suivant le déroule de ma macro cette solution ne me convient pas malheureusement.

J'ai du faire autrement, en me passant de la mise en forme gras/souligné/italic

Tant pis !

Merci quand même :)
TauLieR
Ewok SolidWorks
 
Messages: 6
Inscription: Jeu 09 Aoû 2012, 8:05

Messagepar MarcS » Mar 28 Aoû 2012, 14:40

Comme j'avais dit dans mon intervention la commande est OBSOLETE

Je ne sais pas pouquoi il ont enlever cette commande (SetTextFormatAtIndex)
car elle aurait pu etre tres utile et il ne semble pas la remplacer :cry:
Avatar de l’utilisateur
MarcS
Chevalier Jedi SolidWorks
 
Messages: 311
Inscription: Mar 06 Jan 2009, 20:10
Localisation: Quebec, Quebec SolidWorks 2017 SP 1.0 & SolidWorks 2014 SP 2.0

Messagepar TauLieR » Mer 29 Aoû 2012, 10:31

Arf !

Tant pis !!

Merci quand même !!! 8)
TauLieR
Ewok SolidWorks
 
Messages: 6
Inscription: Jeu 09 Aoû 2012, 8:05


Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

banniere

cron