Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #3  
Old 03-17-2021, 01:13 AM
macropod's Avatar
macropod macropod is offline sort custom document properties Windows 10 sort custom document properties Office 2016
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,467
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Quote:
Originally Posted by LQuinn View Post
I'm getting the properties and then putting them back into the document in alpha order
I realize that. But, as I said:
Quote:
Originally Posted by macropod View Post
I'm not convinced there's much to be gained by reinserting them in the sorted order, though.
That said, reading, capturing, deleting & reinserting the properties could likewise be done more simply and more comprehensively:
Code:
Sub Sort_Custom_Document_Properties()
Dim DocProp As DocumentProperty, CustPropArr() As String, i As Long
ReDim Preserve CustPropArr(0): CustPropArr(0) = ""
With ActiveDocument
  For Each DocProp In .CustomDocumentProperties
    With DocProp
      If InStr(1, .Name, "contenttype", vbTextCompare) = 0 Then
        ReDim Preserve CustPropArr(UBound(CustPropArr) + 1)
        CustPropArr(UBound(CustPropArr)) = .Name & "|" & .Type & "|" & .Value & "|" & .LinkToContent & "|" & .LinkSource
      End If
    End With
  Next DocProp
  For i = 1 To UBound(CustPropArr)
    .CustomDocumentProperties(Split(CustPropArr(i), "|")(0)).Delete
  Next
  WordBasic.SortArray CustPropArr
  For i = 1 To UBound(CustPropArr)
    .CustomDocumentProperties.Add _
      Name:=Split(CustPropArr(i), "|")(0), _
      Type:=Split(CustPropArr(i), "|")(1), _
      Value:=Split(CustPropArr(i), "|")(2), _
      LinkToContent:=Split(CustPropArr(i), "|")(3), _
      LinkSource:=Split(CustPropArr(i), "|")(4)
    CustPropArr(i) = Split(CustPropArr(i), "|")(0)
  Next
End With
MsgBox "The following Custom Document Properties have been sorted:" & vbCr & Join(CustPropArr, vbCr)
End Sub
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
 



Similar Threads
Thread Thread Starter Forum Replies Last Post
sort custom document properties Phantom fields (custom document properties)- where do they come from - and how can they be stopped?! andiekit Word 13 03-18-2021 07:02 AM
sort custom document properties Adding Custom Document Properties NicoleJones Word VBA 3 03-10-2021 08:43 PM
sort custom document properties Create Custom Document Properties with Content Control kschmidt Word VBA 7 02-04-2019 03:09 PM
sort custom document properties Updating Document Properties without using advanced properties dialogue thedr9wningman Word VBA 3 01-20-2014 05:56 PM
sort custom document properties Add custom document properties into document NicBodkin Word 8 05-05-2011 09:09 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 01:12 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft