Skript-Konfigurationen


Skript-Konfigurationen ("Scriptable Configs") erlauben es, mittels JavaScript die Konfiguration anzupassen. Nur bestimmte Dokumentfunktionen implementieren diese Konfigurationsart und je nach Dokumentfunktion können auch andere API-Objekte zur Verfügung stehen.

Momentan findet dieses Konzept Einsatz in der Dokumentfunktion Template Distribution.


Bedingungen

Mittels dem If-Element können Elemente eingeschränkt werden. Wie bei allen (neuen) JavaScript-APIs (z. B. Mappings oder Untervorlagen) kann via oo-API-Objekt auf weitere Eigenschaften zugegriffen werden. Analog des Mappings kann die Bedingung als Attribut oder als Unterelement definiert sein, sowie eine Expression bzw. eine Main-Funktion besitzen:

<!-- Expression im Attribut --> <If Condition="oo.PowerPoint.Version == 15"> ... </If> <!-- Expression als Unterelement --> <If> <If.Condition>oo.PowerPoint.Version &gt; 12</If.Condition> ... </If> <!-- Main-Funktion als Unterelement --> <If> <If.Condition> function main() { return oo.PowerPoint.Version &gt; 12; } </If.Condition> ... </If>

Bedingungen können beliebig verschachtelt werden.


Beispiel

Folgende Konfiguration:

<Configuration> <If Condition="oo.PowerPoint.Version == 14"> <Path>%APPDATA%\SomePowerpointAddin</Path> <If Condition="oo.PowerPoint.Is32Bit"> <Registry> <RegistryKey Root="HKCU" RegistryView="Registry32" Key="Software\Microsoft\Office\14.0\PowerPoint\AddIns\SomePowerpointAddin"> <RegistryValue Type="String" Name="Path" Expand="true">%APPDATA%\SomePowerpointAddin\SomePowerpointAddin.ppam</RegistryValue> <RegistryValue Type="DWord" Name="AutoLoad">00000001</RegistryValue> </RegistryKey> </Registry> </If> <If Condition="oo.PowerPoint.Is64Bit"> <Registry> <RegistryKey Root="HKCU" RegistryView="Registry64" Key="Software\Microsoft\Office\14.0\PowerPoint\AddIns\SomePowerpointAddin"> <RegistryValue Type="String" Name="Path" Expand="true">%APPDATA%\SomePowerpointAddin\SomePowerpointAddin.ppam</RegistryValue> <RegistryValue Type="DWord" Name="AutoLoad">00000001</RegistryValue> </RegistryKey> </Registry> </If> </If> </Configuration>

Ergibt mit API-Objekt: oo.PowerPoint.Version = 14, oo.Is32Bit = true und oo.Is64Bit = false folgendes Resultat:

<Configuration> <Path>%APPDATA%\SomePowerpointAddin</Path> <RegistryKey Root="HKCU" RegistryView="Registry32" Key="Software\Microsoft\Office\14.0\PowerPoint\AddIns\SomePowerpointAddin"> <RegistryValue Type="String" Name="Path" Expand="true">%APPDATA%\SomePowerpointAddin\SomePowerpointAddin.ppam</RegistryValue> <RegistryValue Type="DWord" Name="AutoLoad">00000001</RegistryValue> </RegistryKey> </Configuration>

 

PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland