Scripting Host (PowerShell) #
PowerShell-Beispiele für den Zugriff auf EULANDA über COM-Automation. Die Objektreferenz finden Sie unter iScript / Scripting Host.
Voraussetzungen #
EULANDA muss einmalig als COM-Server registriert sein:
# Als Administrator ausführen
& "C:\Program Files (x86)\EULANDA\EULANDA.exe" /REGSERVER
Mandanten auflisten #
Listet alle verfügbaren EULANDA-Mandanten auf.
$App = New-Object -ComObject "Eulanda.Application"
for ($i = 0; $i -lt $App.ClientCount; $i++) {
Write-Host ("{0}. {1}" -f ($i + 1), $App.Clients($i).Alias)
}
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($App) | Out-Null
Adresse abfragen #
Sucht die erste Adresse, deren Matchcode mit “b” beginnt, und zeigt die Kontaktdaten an.
$App = New-Object -ComObject "Eulanda.Application"
$Cli = $App.Clients(0)
$Cli.Active = $true
$DS = $Cli.CreateDataset("Adresse")
$DS.Search()
$DS.Values("Match") = "b*"
$DS.Post()
Write-Host "Ort: $($DS.Values('PLZ')) $($DS.Values('Ort'))"
Write-Host "Tel: $($DS.Values('Tel'))"
Write-Host "Match: $($DS.Values('Match'))"
Write-Host "EMail: $($DS.Values('EMail'))"
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($DS) | Out-Null
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($Cli) | Out-Null
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($App) | Out-Null
Zugriff auf Script-Bibliotheken #
Zugriff auf ellib, userlib und andere Bibliotheken:
$App = New-Object -ComObject "Eulanda.Application"
$Client = $App.Clients("MeinMandant")
$Client.Active = $true
$Context = $Client.CreateObject("Context")
$Context.userlib.HelloWorld()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($Context) | Out-Null
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($Client) | Out-Null
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($App) | Out-Null
Hinweis: In PowerShell sollten COM-Objekte nach der Verwendung explizit mit
ReleaseComObjectfreigegeben werden, damit der COM-Server sauber heruntergefahren wird.
Die Eigenschaft $Client.Properties("FOLDER.DESKTOP") liefert z.B. den Desktop-Pfad. Eine Übersicht aller Properties finden Sie unter Client.Properties.