Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »


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>

  • No labels