Forum Discussion
Dynamically update metadata from a cell
I found the exact same issues with something I am looking to do! I am looking to populate excel file metadata in SharePoint 365 from specific cells within the excel file. I am able to create the linked Advanced Properties within the file, import it into SharePoint, and auto populate the values on the initial load. The problem is, when users update the information in the linked cell it shows in the Properties setup window, but not in the Advanced Properties dropdown (on Info screen). It seems like this is only ever updated once and I can't seem to get it to refresh.
Utilizing VBA I was able to view these properties and could see that they were stored correctly, but it was not updating the Advanced Properties dropdown.
VBA used to check:
rw = 1 Worksheets(1).Activate ForEach p In ActiveWorkbook.CustomDocumentProperties Cells(rw, 1).Value = p.Name Cells(rw, 2).Value = p.Value rw = rw + 1Next
Please let me know if you have solved this issue.
Hi,
Thanks for your answer. Sorry no I haven't solved this issue yet. A colleuge of mine (wich have great skills in excel) tried this as well without any success. I'm guess that the issue is related to Sharepoint Online. However this could might be solved using Microsoft Flow but i'm not sure.
Please let me know if you find a solution to this. Or if I'm able to solve it I will post it in this thread.
- remory20Feb 28, 2020Copper Contributor
Hello, were you able to come up with a solution to this? I agree, this does appear to be on the SharePoint 365 side. I have added indexes to these metadata columns in SharePoint. Would Column Validation help?
- Yuriy6619Mar 28, 2019Copper Contributor
Hi Emil,
it is part of my macro , may be your college will use it to help you. ( Sorry, Cyrillic letters will not proper print in those site
Sub Ìàêðîñ1()
Sheets("Çàïðîñ").Activate
Dim a As String
a = Cells(3, 3)
ActiveWorkbook.ContentTypeProperties("Çàÿâèòåëü").Value = a
Dim b As String
b = Cells(4, 3)
ActiveWorkbook.ContentTypeProperties("Íàèìåíîâàíèå").Value = b
Dim c As String
c = Cells(5, 3)
ActiveWorkbook.ContentTypeProperties("Ó÷àñòîê").Value = c
Dim d As String
d = Cells(5, 9)
ActiveWorkbook.ContentTypeProperties("Çîíà").Value = d
Dim e As String
e = Cells(7, 2)
ActiveWorkbook.ContentTypeProperties("Îïèñàíèå").Value = e
Dim g As String
g = Cells(9, 2)
ActiveWorkbook.ContentTypeProperties("Ïðè÷èíà").Value = g
Range("AL65:AP78").Select
ActiveWindow.SmallScroll Down:=-9
Selection.Copy
ActiveWindow.SmallScroll Down:=-27
Range("AL38").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=18
Range("AL60:AN60").Select
Application.CutCopyMode = False
Selection.Copy
Range("Òàáëèöà2[èíèöèàòîð]").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False