Dear Libreoffice developer community, I have just started maintaining one libreoffice plug-in, it has following code which were working before LibreOffice version 4.2.1.1. This code is used to store and retrieve document level information:
'---------------------------------------------------------------------------------------- ' FUNCTION: SetUserVariable ' Set Info to the current Document ' Returns: Status;Success or Failure ' Arguments: oDocument Document Object to which info will be stored ' iIndex Index of the Variable where info will get stored ' sVarName Varaible Name to be stored ' aValue Value to be stored '---------------------------------------------------------------------------------------- Function SetUserVariable(ByVal oDocument As Object, ByVal iIndex As Integer, ByVal sVarName As String, ByVal aValue As Variant) As Boolean Dim oDocumentInfo As Object Dim iCnt As Integer On Error GoTo ErrHandler If Not IsNull(oDocument) Then SetUserVariable = False oDocumentInfo = oDocument.getDocumentInfo() iCnt = oDocumentInfo.getUserFieldCount() If iIndex < iCnt Then oDocumentInfo.setUserFieldName(iIndex, sVarName) oDocumentInfo.setUserFieldValue(iIndex, aValue) SetUserVariable = True 'Success Exit Function End If End If Exit Function ErrHandler: LogError("DECOSDIRECT.SetUserVariable", Error$, Erl) SetUserVariable = False End Function '---------------------------------------------------------------------------------------- ' FUNCTION: GetUserVariable ' Get Info of the current Document ' Returns: Status;Success or Failure and Document Info ' Arguments: oDocument Document Object to which info will be stored ' iIndex Index of the Variable where info will get stored ' sVarName Varaible Name to be stored ' aValue Value which will be returened '---------------------------------------------------------------------------------------- Function GetUserVariable(ByVal oDocument As Object, ByVal iIndex As Integer, ByVal sVariable As String, ByRef sValue As Variant) As Boolean Dim vCount As Integer Dim oDocumentInfo As Object Dim iCnt As Integer On Error GoTo ErrHandler If Not IsNull(oDocument) Then oDocumentInfo = oDocument.getDocumentInfo() iCnt = oDocumentInfo.getUserFieldCount() If iIndex < iCnt Then If sVariable = oDocumentInfo.getUserFieldName(iIndex) Then sValue = oDocumentInfo.getUserFieldValue(iIndex) GetUserVariable = True Else GetUserVariable = False End If End If End If Exit Function ErrHandler: LogError("DECOSDIRECT.GetUserVariable", Error$, Erl) GetUserVariable = False End Function Here, oDocument is ‘thisComponent’. In above code red marked methods doesn’t working before LibreOffice version 4.2.1.1. Can you please help us to provide updated API or alternative solution. The following API not working with latest version of LibreOffice: oDocumentInfo = oDocument.getDocumentInfo() iCnt = oDocumentInfo.getUserFieldCount() oDocumentInfo.getUserFieldName(iIndex) and oDocumentInfo.getUserFieldValue(iIndex) It’s found that these methods/API are depreciated, can you provide new API calls that are necessary to add user properties to a file/document? Thanks & Regards, Nikunj Banker
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice