Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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
languagejs
<!-- Expression imin Attributattribute -->
<If Condition="oo.PowerPoint.Version == 15">
    ...
</If>

<!-- Expression alsas Unterelementsubelement -->
<If>
    <If.Condition>oo.PowerPoint.Version &gt; 12</If.Condition>
    ...
</If>

<!-- Main-Funktion function alsas Unterelementsubelement -->
<If>
    <If.Condition>
        function main()
        {
           return oo.PowerPoint.Version &gt; 12;  
        }
     </If.Condition>
    ...
</If>

Bedingungen können beliebig verschachtelt werdenConditions can be nested in any way.

Beispiel

...

Examples

The following configuration:

Code Block
languagexml
<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
languagexml
<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>