Partager via


Comment : créer et modifier des propriétés de document personnalisées

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

Version de Microsoft Office

  • Version 2007 de Microsoft Office System

  • Microsoft Office 2003

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Microsoft Office Excel et Microsoft Office Word fournissent des propriétés intégrées qui sont stockées avec des classeurs et des documents. Vous pouvez en outre créer et modifier des propriétés de document personnalisées si vous souhaitez enregistrer des informations supplémentaires avec le document dans une personnalisation au niveau du document.

Utilisez la propriété CustomDocumentProperties pour travailler avec les propriétés personnalisées. Cette propriété retourne un objet DocumentProperties qui est une collection d'objets DocumentProperty. Vous pouvez utiliser la propriété Item de la collection pour récupérer une propriété particulière, par nom ou par index, dans la collection.

L'exemple suivant montre comment ajouter une propriété personnalisée dans Excel et lui assigner une valeur.

Exemple

Sub TestProperties()
    Dim properties As Microsoft.Office.Core.DocumentProperties
    properties = CType(Me.CustomDocumentProperties, Office.DocumentProperties)

    If ReadDocumentProperty("Project Name") <> Nothing Then
        properties("Project Name").Delete()
    End If

    properties.Add("Project Name", False, _
        Microsoft.Office.Core.MsoDocProperties.msoPropertyTypeString, _
        "White Papers")
End Sub

Private Function ReadDocumentProperty(ByVal propertyName As String) As String
    Dim properties As Office.DocumentProperties
    properties = CType(Me.CustomDocumentProperties, Office.DocumentProperties)

    Dim prop As Office.DocumentProperty

    For Each prop In properties
        If prop.Name = propertyName Then
            Return prop.Value.ToString()
        End If
    Next

    Return Nothing
End Function
void TestProperties()
{
    Microsoft.Office.Core.DocumentProperties properties;
    properties = (Office.DocumentProperties)this.CustomDocumentProperties;

    if (ReadDocumentProperty("Project Name") != null)
    {
        properties["Project Name"].Delete();
    }

    properties.Add("Project Name", false,
        Microsoft.Office.Core.MsoDocProperties.msoPropertyTypeString,
        "White Papers", missing);
}

private string ReadDocumentProperty(string propertyName)
{
    Office.DocumentProperties properties;
    properties = (Office.DocumentProperties)this.CustomDocumentProperties;

    foreach (Office.DocumentProperty prop in properties)
    {
        if (prop.Name == propertyName)
        {
            return prop.Value.ToString();
        }
    }
    return null;
}

Programmation fiable

La tentative d'accès à la propriété Value pour les propriétés non définies lève une exception.

Voir aussi

Tâches

Comment : lire des propriétés de document et en écrire

Concepts

Programmation de personnalisations au niveau du document