Partager via


Comment : 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 stockées avec les documents.De plus, 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 de niveau document pour les applications suivantes : Excel 2013, Excel 2010, PowerPoint 2013, PowerPoint 2010, Project 2013, Project  2010, Word 2013 et Word 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Utilisez la propriété CustomDocumentProperties d'un document pour travailler avec les 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 au niveau de l'application pour Excel, utilisez la propriété CustomDocumentProperties d'un objet Microsoft.Office.Interop.Excel.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 montre comment ajouter une propriété personnalisée dans une personnalisation au niveau du document pour Excel et lui assigner une valeur.

lien vers la vidéo Pour une démonstration vidéo connexe, consultez Comment faire pour accéder à des propriétés du document personnalisées et les utiliser dans Microsoft Word ? (page éventuellement en anglais).

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

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

Autres ressources

Programmation de compléments d'application

Programmation de personnalisations au niveau du document