ITabHyperlink.Action

Syntax

Action: String;

Action: string;

Description

The Action property determines the action to be performed, when a hyperlink is activated.

Action Property value example
Open file "C:\Image.jpg"
The specified file will open.
Open link "http://www.example.com"
The specified address will open.
Open report sheet "=Sheet2"
Moving to the specified report sheet will be performed.
Show cell range "=a0:b3;d0:f3"
Positioning on the specified range will be performed.
Show object in the centre of the screen "#Sheet2!PrxChart1"
Positioning on a diagram on the second report sheet will be performed.
Open repository object "@Dim"
An object with «Dim» identifier will open.
Run procedure/function Depending on the file where the macro is implemented the path to the macro in this property is specified in the different ways:
  • A macro is implemented in a unit or a form of the repository: <unit/form identifier>.<macro identifier>.

  • A macro is implemented in an object of the repository assembly: <assembly identifier>.<macro identifier>.

  • A macro is implemented in an object of a .NET-assembly of the repository: < .NET-assembly namespace>.<class name>.<macro name>.

JS function and Fore function can be specified in macros together. JS function will be executed only in viewing web application and Fore function will be executed on viewing in the Foresight Analytics Platform:

  • Fore:<OBJ3331.MyFunc>. The desktop application will execute the MyFunc function contained in the unit with the OBJ3331 identifier.

  • Javascript:<alert("JavaScript Function")>. The web application will execute the JS function outputting the JavaScript Function message.

Implementation of user macros in the units and forms of the repository is to be performed in the global namespace (Global Scope).
Implementation of user macros in the .NET units and .Net forms of the repository is to be performed within a class. A macro is to be a  static procedure or function.
"OBJ34114.MyFunction"
The MyFunction function will be executed, that is contained in the unit with the OBJ34114 identifier.

Example

In this example we suppose that an object Report of the type IPrxReport exists.

Add links to the Report, Tab system assemblies.

Sub UserProc;
Var
    Rep: IPrxReport;
    Tab: ITabSheet;
    Range: ITabRange;
    Hyperlink: ITabHyperlink;
Begin
    Tab := Rep.ActiveSheet.Table;
    Range := Tab.Cell(
00);
    Hyperlink := Range.Style.Hyperlink;
    Hyperlink.Action := 
"=Sheet2";
    Hyperlink.Enable := TriState.OnOption;
    Hyperlink.SeparateLinkText := TriState.OnOption;
    Hyperlink.Text := 
"Go to Sheet2";
End Sub UserProc;

Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.ForeSystem;

Private Sub UserProc();
Var
    Rep: IPrxReport;
    Tab: ITabSheet;
    Range: ITabRange;
    Hyperlink: ITabHyperlink;
Begin
    Tab := Rep.ActiveSheet.Table;
    Range := Tab.Cell[
00];
    Hyperlink := Range.Style.Hyperlink;
    Hyperlink.Action := 
"=Sheet2";
    Hyperlink.Enable := TriState.tsOnOption;
    Hyperlink.SeparateLinkText := TriState.tsOnOption;
    Hyperlink.Text := 
"Go to Sheet2";
End Sub

As a result, the «A0» cell of the regular report a hyperlink with the text "Go to Sheet2" will be created, clicking on which will result in going to "Sheet2".

See also:

ITabHyperlink