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 > 12</If.Condition> ... </If> <!-- Main-Funktion als Unterelement --> <If> <If.Condition> function main() { return oo.PowerPoint.Version > 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>