Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I was wondering if there was an external hook/macro that could be invoked from a Qlikview report (via a mouse right click or similar) that could launch an external application with the Qlikview cell parameters that had been right clicked being passed to it.
e.g. a Telephone number from a Qlikview report table being passed to an application that would run a call trace on that number.
Many Thanks
Sandy
Sandy,
Seems to me that a button without macro is easier, but if you want to get the value in the macro try:
utelimsi = ActiveDocument.Evaluate("only(IMSI)")
-Rob
Yes, this is possible. The details depend on which version -- 8 or 9 -- and how you want the UI to behave.
If you want to have the "activation link" as a cell in a table, V9 provides the "Link" representation for an expression. The Customer Portal Content section has a video titled "How to create a clickable URL in QLikview 9" that provides an example. Note that the url does not need to be a "url", it can be something like a program name -- "cmd.exe". The parameter values would be included in the link expression. For example
='Run Trace' & '<URL>calltrace.exe' & PhoneNumber
This "link in a cell" method can be simulated in V8 using a macro. If you need V8 I can provide an example.
Another approach is use a button with a Launch action. This method works the same in V9 or V8. Add an enable condition to the button that enables the button only when one PhoneNumber is possible.
-Rob
Thanks Rob!
I have v9.0.
I'll give it a try.
Cheers
Sandy
Hi Rob,
The button with launch application fits my needs best.
However, I am struggling to see how I can pass the application the 'phonenumber'.
In my case the 'phonenumber' field is called IMSI. The button is only enabled when one distinct IMSI is selected. When I try and pass the field IMSI only the text 'imsi' is passed as opposed the required field contents (e.g. 310650700000442).
Any ideas?
Many Thanks
Sandy
If your completed launch command was to look like:
myprog.exe -n=310650700000442
then your expression in the Launch button Application field would look like:
='myprog.exe -n=' & only(IMSI)
Does that help? Post your button expression if you have more questions.
-Rob
Hi Rob,
I have used a macro button to make it more flexible - code below. However, the first line returns the error -
>>> Object required: 'ActiveDocument.Fields(...)'
Any ideas?
Cheers
Sandy
sub UTEL
utelimsi = ActiveDocument.Fields("IMSI").GetSelectedValues
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "iexplore.exe http://10.0.1.98/cgi-bin/uqos/tcapsearch.pl??Action=Search&Category=TCAP&From_Date=2009.12.07&From_Time=05:00&To_Date=2009.12.07&To_Time=06:00&Field=imsi&Operator=&Value=&bind1=and&Sub=&bind2=and&Expression=((imsi="&utelimsi_txt&"))&Button=View",3,true
end sub
Sandy,
Seems to me that a button without macro is easier, but if you want to get the value in the macro try:
utelimsi = ActiveDocument.Evaluate("only(IMSI)")
-Rob
Hi Rob,
I have tried both routes without success.
1. Launch Method.
Application: C:\Documents and Settings\sandy.orr\Start Menu\Programs\Internet Explorer.lnk
Parameters: only(IMSI)
This simply puts the text 'only(IMSI)' in the URL.
Sorry, I am using v8.0 not 9.0.
2. For the macro this populated the string with '-' and not with the actual IMSI field value.
Any other ideas/direction greatly received!
Cheers
Sandy
Can you post your qvw?
Hi Rob,
I would be happy to post it but it is 765MB!
Cheers
Sandy