Paul,
Well yes, but as we are also calling the function for custom properties then I suppose it could be (again like yours, not tested):
Private Function ReadProp(strName As String) As Variant On Error Resume Next Set ReadProp = ActiveDocument.BuiltInDocumentProperties(strName) If ReadProp = Empty Then Set ReadProp = ActiveDocument.CustomDocumentProperties(strName) End If lbl_Exit: Exit Function End Function