Table of Contents |
---|
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 Scriptable configs allow using JavaScript to customize the configuration. Only certain document functions implement this type of configuration and depending on the document function, other API objects may also be available.
Currently this concept is used in the document function 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 besitzenElements can be restricted via the If
element. As with all (new) JavaScript APIs (e.g. Mappings or subtemplates), additional properties can be accessed via oo
API object. Analogous to Mappings, the condition can be defined as an attribute or as a subelement, as well as have an expression or a main function:
Code Block | ||
---|---|---|
| ||
<!-- Expression imin Attributattribute --> <If Condition="oo.PowerPoint.Version == 15"> ... </If> <!-- Expression alsas Unterelementsubelement --> <If> <If.Condition>oo.PowerPoint.Version > 12</If.Condition> ... </If> <!-- Main-Funktion function alsas Unterelementsubelement --> <If> <If.Condition> function main() { return oo.PowerPoint.Version > 12; } </If.Condition> ... </If> |
Bedingungen können beliebig verschachtelt werdenConditions can be nested in any way.
Beispiel
...
Examples
The following configuration:
Code Block | ||
---|---|---|
| ||
<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-ObjektResults with API object: oo.PowerPoint.Version = 14
, oo.Is32Bit = true
und and oo.Is64Bit = false
folgendes Resultat as follows:
Code Block | ||
---|---|---|
| ||
<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> |