7 Replies Latest reply: Mar 27, 2017 9:00 AM by Muñoz Héctor RSS

    Macro to print trigger actions

    Muñoz Héctor

      Hi guys,

       

      First of all apologyzes if Scripting Fiorum is not the proper place to launch this question...

       

      I need a full list of all the actions contained in all kind of triggers in a QlikView document. Triggers like activate or deactivate a sheet, on input or on change in fields or variables...

       

      Searching in API document I have a function and a macro that shows me, for the moment at a sheet level, the type of the actions contained in its triggers 'Activate' and 'Deactivate':

       

      
      
      FUNCTION DescripcionTipoAccion (tipo)
      
        SELECT CASE tipo
        CASE 0
        DescripcionTipoAccion = "Info"
        CASE 1
        DescripcionTipoAccion = "Sql"
        CASE 2
        DescripcionTipoAccion = "Lock All"
        CASE 3
        DescripcionTipoAccion = "Unlock All"
        CASE 4
        DescripcionTipoAccion = "Clear All"
        CASE 5
        DescripcionTipoAccion = "Clear All Incl Locked"
        CASE 6
        DescripcionTipoAccion = "Back"
        CASE 7
        DescripcionTipoAccion = "Forward"
        CASE 8
        DescripcionTipoAccion = "File Close"
        CASE 9
        DescripcionTipoAccion = "Next Tab"
        CASE 10
        DescripcionTipoAccion = "Prev Tab"
        CASE 11
        DescripcionTipoAccion = "Export"
        CASE 12
        DescripcionTipoAccion = "Launch"
        CASE 13
        DescripcionTipoAccion = "Macro"
        CASE 14
        DescripcionTipoAccion = "Recall Bookmark"
        CASE 15
        DescripcionTipoAccion = "Replace Bookmark"
        CASE 16
        DescripcionTipoAccion = "Create Bookmark"
        CASE 17
        DescripcionTipoAccion = "Print Report"
        CASE 18
        DescripcionTipoAccion = "Activate Sheet"
        CASE 19
        DescripcionTipoAccion = "Print Sheet"
        CASE 20
        DescripcionTipoAccion = "Print Object"
        CASE 21
        DescripcionTipoAccion = "Restore Object"
        CASE 22
        DescripcionTipoAccion = "Minimize Object"
        CASE 23
        DescripcionTipoAccion = "Maximize Object"
        CASE 24
        DescripcionTipoAccion = "Activate Object"
        CASE 25
        DescripcionTipoAccion = "Select Excluded"
        CASE 26
        DescripcionTipoAccion = "Clear Other Fields"
        CASE 27
        DescripcionTipoAccion = "Select Possible"
        CASE 28
        DescripcionTipoAccion = "Lock"
        CASE 29
        DescripcionTipoAccion = "Unlock"
        CASE 30
        DescripcionTipoAccion = "Pareto Select"
        CASE 31
        DescripcionTipoAccion = "Set Value"
        CASE 32
        DescripcionTipoAccion = "Field Select"
        CASE 33
        DescripcionTipoAccion = "Field Toggleselect"
        CASE 34
        DescripcionTipoAccion = "Open Url"
        CASE 35
        DescripcionTipoAccion = "Document Chain"
        CASE 36
        DescripcionTipoAccion = "Eov"
        CASE ELSE
        DescripcionTipoAccion = "Desconocido"
        END SELECT
      
      END FUNCTION
      
      
      SUB AccionesQV
      
        ' ACCIONES DE LA PESTAÑA ACTUAL
        SET hoja_actual = ActiveDocument.ActiveSheet
        SET propiedades = hoja_actual.GetProperties
        ' Al activar la pestaña
        SET acciones = propiedades.OnActivateActionItems
        mensaje = "Acciones al activar pestaña" + vbCrLf 
        FOR i = 0 TO acciones.Count - 1
        mensaje = mensaje & "         # " & (i + 1) & " " & DescripcionTipoAccion(acciones.item(i).Type) & vbCrLf '": Tipo -> " & acciones.item(i).Type & ", descripción ->: " & 
        NEXT
        mensaje = mensaje + vbCrLf
        ' Al abandonar la pestaña
        SET acciones = propiedades.OnDeactivateActionItems
        mensaje = mensaje + "Acciones al abandonar pestaña" + vbCrLf 
        FOR i = 0 TO acciones.Count - 1
        mensaje = mensaje & "         # " & (i + 1) & " " & DescripcionTipoAccion(acciones.item(i).Type) & vbCrLf '": Tipo -> " & acciones.item(i).Type & ", descripción ->: " & 
        NEXT
        mensaje = mensaje + vbCrLf
        MSGBOX (Mensaje)
      
      END SUB
      

       

      The problem is that this does not solve all the problem: I still donot know which fields are used e.g. in "Field Select" actions or which variables are used in "Set Value" actions... I have searched all along the API document and also in forums, etc. but with no luck...

       

      Has anyone done something like this? Or have any clue?

       

      Thanks in advance!!!

       

      Regards,
      H