Partage via


Créer et modifier des propriétés de document personnalisées

Les applications Microsoft Office répertoriées ci-dessus fournissent des propriétés intégrées qui sont stockées avec les documents. En outre, vous pouvez créer et modifier des propriétés de document personnalisées si vous souhaitez stocker des informations supplémentaires avec le document.

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets au niveau du document et aux projets de complément VSTO pour les applications suivantes : Excel ; Powerpoint; Projet; Mot. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.

Utilisez la propriété CustomDocumentProperties d’un document pour utiliser des propriétés personnalisées. Par exemple, dans un projet au niveau du document pour Microsoft Office Excel, utilisez la propriété CustomDocumentProperties de la classe ThisWorkbook . Dans un projet de complément VSTO pour Excel, utilisez la propriété CustomDocumentProperties d'un objet Workbook . Ces propriétés retournent 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 illustre l'ajout d'une propriété personnalisée dans une personnalisation au niveau du document pour Excel et l'affectation d'une valeur à cette propriété.

Exemple

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");
}

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

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