Macro word propriete personnalise

cs_LORam Messages postés 3 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 25 avril 2009 - 25 mars 2009 à 00:12
cs_LORam Messages postés 3 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 25 avril 2009 - 26 mars 2009 à 19:16
bonjour, bonsoir à toutes et tous

je réalise un mini projet dans word sous forme de macro:
but de la macro : insérer des propriétés personnalisées à partir d'une userform (menu Fichier/Propriétés/Personnalisation)

j'ai réalisé la macro, elle fonctionne bien tant que le nom de la propriété n'existe pas. Si le nom existe vb m'envoie un code erreur N° -2147467259 (8000 4005). Or en fonctionnement normal (sans macro) word propose "modifier" en lieu et place du bouton "ajouter" lorsque le nom de la propriété existe déjà dans la liste, dans ce cas il modifie la valeur du nom de la propriété.
comment faire pour avoir cette fonctionnalité (modification)? si quelqu'un avait une info ca serait super

par avance merci

longue vie à Code Source

4 réponses

cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
25 mars 2009 à 08:10
Bonjour

Je connais le sujet et l'ai traité dans des projets VBA dans modèle Word et dans des projets VB6 avec DsoFIle et j'oublie encore d'autre méthodes.

Montre ton code , je pourrais peut-être t'aider.
0
cs_LORam Messages postés 3 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 25 avril 2009
25 mars 2009 à 21:08
bonjour loulou69


voici le code qui se trouve dans l'évènement du bouton OK de ma userform (feuille de saisie)


"Private Sub CBOk_Click()


' TBFst = TextBox qui récupère la valeur de la propriété à insérer
' LbFst = Label qui donne le nom de la propriété à insérer


Dim TempStg As String 'Tampon pour renseigner la valeur de la propriété


If TBFst.value = "" Then
    TempStg = "Non Renseigné"
Else
    TempStg = TBFst.value
End If


'
ActiveDocument.CustomDocumentProperties.Add _
    Name:=LbFst.Caption, LinkToContent:=False, value:=TempStg, _
    Type:=msoPropertyTypeString




UFInsertionDonnee.hide ' Fermeture de la fenêtre de Saisie


End Sub"

pour info j'utilise WORD 2002 SP3

par avance merci pour les infos
0
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
26 mars 2009 à 08:42
au lieu deActiveDocument.CustomDocumentProperties.Add ...
mets
Call CreateCustomProperty(LbFst.Caption, TempStg)

Sub CreateCustomProperty(sname, svalue)
On Error Resume Next
If ActiveDocument.CustomDocumentProperties(sname).value <> "" Then
ActiveDocument.CustomDocumentProperties.Add _
    name:=sname, LinkToContent:=False, value:=svalue, _
    Type:=msoPropertyTypeString
End If
End Sub
0
cs_LORam Messages postés 3 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 25 avril 2009
26 mars 2009 à 19:16
thank, j'essaie dés que je peux, et je vous donne le résultat.
0
Rejoignez-nous