[ gogi100 @ 25.01.2016. 14:26 ] @
imam excel 2010 dokument na sharepointu. Ovaj dokument u svom document properties sadrzi podatke iz sharepoint colona. Zeleo bih da ova polja stavim u excel celije. na netu sam nasao da to radi ova funkcija

Function docprop(Info_needed As String) As Variant
Application.Volatile
DocPropCustom = ThisWorkbook.ContentTypeProperties(Info_needed).Value
End Function

medjutim svaki put kad stavim u celiju =docprop("ime svojstva iz excelovog property koje je na srpskoj cirilici") dobijam gresku #value!. da li jeproblem sto su sva imena svojstava unicode formatu tj. serbian cirilyc? mozete li mi dati neku instrukciju?
hvala
[ Jpeca @ 27.01.2016. 09:52 ] @
Nažalost ne mogu da probam pa odgovaram napamet, ali pokušaj da konvertuješ string u unicode
StrConv(Info_needed, vbUnicode)

http://www.techonthenet.com/excel/formulas/strconv.php
[ gogi100 @ 27.01.2016. 11:42 ] @
kad dodam liniju u kod

Function docprop(Info_needed As String) As Variant
Application.Volatile
DocPropCustom = ThisWorkbook.ContentTypeProperties(Info_needed).Value
DocPropCustom=StrConv(Info_needed, vbUnicode)
End Function

i ukucam u celiju =docprop("ime svojstva iz excelovog property koje je na srpskoj cirilici") dobijem u celiji vrednost 0
[ djoka_l @ 27.01.2016. 12:03 ] @
Tvoja funkcija ne vraća vrednost, zato što se zove "docprop", a ti dodeljuješ vrednost promenljivoj "DocPropCustom".
Osim toga StrConv(Info_needed, vbUnicode) koristiš na pogrešnom mestu:

Function docprop(Info_needed As String) As Variant
Application.Volatile
DocProp = ThisWorkbook.ContentTypeProperties(StrConv(Info_needed, vbUnicode)).Value

End Function
[ gogi100 @ 27.01.2016. 14:02 ] @
sad kad stavim vas kod
Function docprop(Info_needed As String) As Variant
Application.Volatile
docprop = ThisWorkbook.ContentTypeProperties(StrConv(Info_needed, vbUnicode)).Value

End Function

i u neku celiju excel-a
=docprop("Subjekt")

PS:Subjekt je cirilicno

dobijam #VALUE!
[ Jpeca @ 27.01.2016. 14:28 ] @
Napravio sam custom document property "test" (ćirilično) i u Excelu 2013 rezultat funkcije je ispavan bez ikakve konverzije - kao u tvojoj početnoj verziji sa ovom važnom izmenom koju je djoka_l naveo (docprop je naziv funkcije pa tu upisuješ rezultat)

Code:
Function docprop(Info_needed As String) As Variant
 Application.Volatile
 docprop = ThisWorkbook.CustomDocumentProperties(Info_needed).Value
End Function


Pošto nemam odgovarajući ContentTypeProperties da testiram ovo mi se učinilo najpripližnije
[ djoka_l @ 27.01.2016. 14:36 ] @
Nemam taj slučaj, pa ne mogu da testiram. Pomozi nam da ti pomognemo. Kako je kod mene CustomDocumentProperties kolekcija prazna, napravio sam drugu test funkciju koja ispisuje kolekciju za koju znam da nije prazna.
Probaj test:
Code:

Sub test()

cnt = ThisWorkbook.CustomDocumentProperties.Count
curr = 1

For Each c In ThisWorkbook.CustomDocumentProperties
    MsgBox curr & " of " & cnt & " : " & c.Name & "/" & c.Value
Next

End Sub

Sub test2()
cnt = ThisWorkbook.BuiltinDocumentProperties.Count
curr = 1

For Each c In ThisWorkbook.BuiltinDocumentProperties
    MsgBox curr & " of " & cnt & ": " & c.Name & "/" & c.Value
    curr = curr + 1
Next
End Sub
[ gogi100 @ 27.01.2016. 14:50 ] @
ja sam nasao na netu da se contenttypeproperties koristi da se u excel u document properties koriste sharepoint podaci a ne CustomDocumentProperties
[ djoka_l @ 27.01.2016. 14:54 ] @
OK, izmeni test rutinu tako da ti pokaže ono što hoćeš, pa reci šta si dobio...
[ gogi100 @ 27.01.2016. 18:46 ] @
kad kliknem na makro test
dobijam 8 dialog boksova kao na slikama, dok makro test prikazuje sve ok
[ gogi100 @ 27.01.2016. 20:39 ] @
Citat:
Jpeca:
Napravio sam custom document property "test" (ćirilično) i u Excelu 2013 rezultat funkcije je ispavan bez ikakve konverzije - kao u tvojoj početnoj verziji sa ovom važnom izmenom koju je djoka_l naveo (docprop je naziv funkcije pa tu upisuješ rezultat)

Code:
Function docprop(Info_needed As String) As Variant
 Application.Volatile
 docprop = ThisWorkbook.CustomDocumentProperties(Info_needed).Value
End Function


Pošto nemam odgovarajući ContentTypeProperties da testiram ovo mi se učinilo najpripližnije


probao sam i sa ovim resenjem dobijam #value!
[ Jpeca @ 28.01.2016. 15:00 ] @
Normalno je da dobiješ rezultat #Value u primeru koji si naveo, jer verovatno nemaš Custom Property sa tim imenom.

Da li si probao attachovan fajl? Ja sam tamo kreirao custom property i probao. AKo kod tebe ne radi onda ima veze sa verzijom Offica.

Ako kod tebe radi probaj da preparaviš kod u tom primeru i umesto CustomDocumentProperties stavi Contenttypeproperties. Onda u ćeliju A1 na listu Test upiši naziv svojstva koje znaš da imaš (ćirilično) i vidi šta se dešava.

[ gogi100 @ 28.01.2016. 20:37 ] @
Prepravio sam tvoj kod i dobio

Option Explicit

Function docprop(Info_needed As String) As Variant
Application.Volatile
' docprop = ThisWorkbook.CustomDocumentProperties(StrConv(Info_needed, vbFromUnicode)).Value
docprop = ThisWorkbook.ContentTypeProperties(Info_needed).Value
End Function

Sub list_All_Properties()
Dim iRow As Integer
Dim sh As Worksheet
Dim prop As Variant
iRow = 1
Set sh = ThisWorkbook.Sheets(7)
On Error Resume Next
'below loop will traverse for all items of this collection of properties
'For Each prop In ThisWorkbook.BuiltinDocumentProperties
For Each prop In ThisWorkbook.ContentTypeProperties.Count
sh.Range("A" & iRow).Value = prop.Name 'Property Name like "Author" etc
sh.Range("B" & iRow).Value = prop.Value 'Property value like Author name updated in proprty
iRow = iRow + 1
Next
End Sub
Sub Test()
MsgBox docprop(StrConv("òåñò", vbUnicode))
list_All_Properties
End Sub

Medjutim, dobijam 3 properties kad startujem makro list_All_Properties,koji mi nisu potrebni,ali ovih kojih mi trebaju ne prikazuje u sheet 7, a ima ih jos 4.
Ovi properties se pojavljuju u Dokument panelu koji se otvara kad kliknem na dugme Document panel u Developer ribbonu.
Ono sto sam primetio da u title dokument panela stoji Dokument(cirilicno) properties - Server. Da li mozda nekako da se VBA uputi na njega i podatke povuce odatle u neki prazan sheet, a onda izvrsim kopiranje nekog svojstva u odgovarajucu celiju sheet-a gde mi je to svojstvo potrebno?
[ djoka_l @ 29.01.2016. 08:21 ] @
Ovo je pogrešno:

For Each prop In ThisWorkbook.ContentTypeProperties.Count

treba

For Each prop In ThisWorkbook.ContentTypeProperties
[ gogi100 @ 29.01.2016. 09:14 ] @
izvini, moja greska pokusao sam i sa linijom

For Each prop In ThisWorkbook.ContentTypeProperties

ali mi prikazuje samo 3 properties koja nisu polja u sharepoint-u,a ovih drugih 4 ne prikazuje.
Pokusao sam i sa kodom gde je linija

For Each prop In ThisWorkbook.ContentTypeProperties.Count

prijavljuje mi gresku u kodu