# Makron och automation

## Automation-gränssnittet i QlikView

QlikView har utrustats med ett Automation-gränssnitt (Automation var tidigare känt under namnet OLE Automation). Detta gränssnitt gör det möjligt för ett externt program eller ett internt makro att komma åt och kontrollera QlikView-applikationen.

En fullständig, detaljerad beskrivning av QlikView Automation-gränssnittet finns i mappen Dokumentation, som ingår i QlikView-installationen.

Automation-gränssnittet är en integrerad del av QlikView. Inga speciella uppdrag behöver därför utföras för att aktivera det.

## Hur Automation och makron kan kontrollera QlikView

### Extern kontroll av QlikView

QlikView-objekt är åtkomliga via Automation från externa program, t.ex. program som skrivits i Visual Basic eller C++ som stöder Automation.

Denna typ av kod kan användas för att kontrollera QlikView från andra applikationer eller från fristående program.

Fristående körbara filer kan anropas från ett QlikView-dokument via startknappar.

### Intern makrotolk

QlikView-objekt är också åtkomliga via Automation inifrån QlikView genom den inbyggda makro-tolken.

Makron som skrivs i VBScript eller JScript inuti ett QlikView-dokument kan för närvarande anropas på följande sätt:

#### Dokumenthändelser:

* Ett makro kan köras efter att ett QlikView-dokument öppnats.
* Ett makro kan köras när skriptet har laddats om.
* Ett makro kan köras efter kommandot Reducera data.
* Ett makro kan köras efter val i valfritt fält i dokumentet.

#### Arkhändelser:

* Ett makro kan köras efter att ett ark aktiverats.
* Ett makro kan köras när ett ark lämnas.

#### Arkobjekthändelser:

* Ett makro kan köras efter att ett arkobjekt aktiverats.
* Ett makro kan köras när ett arkobjekt lämnas.

#### Knapphändelser:

* En knapp på arket kan länkas till ett makro.

#### Fälthändelser:

* Ett makro kan köras efter att ett val gjorts i ett specifikt fält.
* Ett makro kan köras när ett val görs i fält som är logiskt kopplat till ett specifikt fält.
* Ett makro kan köras när val låses i ett specifikt fält.
* Ett makro kan köras när val låses upp i ett specifikt fält.

#### Variabelhändelser:

* Ett makro kan köras efter att ett val gjorts i en specifik variabel.
* Ett makro kan köras när värdet ändras på en specifik variabel som innehåller en formel vars värde har ändrats.