<?xml version="1.0" encoding="utf-8"?>
<bpr:release xmlns:bpr="http://www.blueprism.co.uk/product/release">
    <bpr:name>Teneo_Connector</bpr:name>
    <bpr:release-notes />
    <bpr:created>2021-03-17 18:20:36Z</bpr:created>
    <bpr:package-id>-1</bpr:package-id>
    <bpr:package-name>&lt;Adhoc Package&gt;</bpr:package-name>
    <bpr:user-created-by>admin</bpr:user-created-by>
    <bpr:contents count="7">
        <process id="be13ff1a-496d-48cb-b0ee-f3823b9da62d" name="Recieve Teneo Data" published="true" xmlns="http://www.blueprism.co.uk/product/process"><process name="Recieve Teneo Data" version="1.0" bpversion="6.10.0.30674" narrative="" byrefcollection="true"><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view><preconditions /><endpoint narrative="" /><stage stageid="32966aa7-311e-4ef3-8417-d84a9b920765" name="Start" type="Start"><display x="15" y="-105" /><inputs><input type="text" name="Sheet Name" stage="Sheet Name" /><input type="text" name="File Path" stage="File Path" /></inputs><onsuccess>f364b882-8d57-4631-8fb4-9e0fec3a723a</onsuccess></stage><stage stageid="cc7f293c-3a49-49db-b5d8-6dc135b71964" name="End" type="End"><display x="15" y="90" /><outputs><output type="text" name="Process Results JSON" stage="JSON" /></outputs></stage><stage stageid="fb23a238-09ca-41c0-80b3-d4dd697390ae" name="Stage1" type="ProcessInfo"><display x="-195" y="-105" w="150" h="90" /></stage><stage stageid="423e22e3-ed51-413e-b1a4-e6d4752dc9f5" name="Sheet Name" type="Data"><display x="90" y="-105" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3d1c8f93-8c85-4a0b-865e-9c0e08a85cdd" name="File Path" type="Data"><display x="165" y="-105" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="f364b882-8d57-4631-8fb4-9e0fec3a723a" name="Run Test Phrases" type="Process"><loginhibit onsuccess="true" /><display x="15" y="-30" /><inputs><input type="text" name="Excel File Path" friendlyname="Excel File Path" expr="[File Path]" /><input type="text" name="Excel Sheet Name" friendlyname="Excel Sheet Name" expr="[Sheet Name]" /></inputs><outputs><output type="collection" name="Process Data" friendlyname="Process Data" stage="Process Data" /></outputs><onsuccess>30182239-cc54-4a42-8e3a-498da1a805d4</onsuccess><processid>2b4664ab-3928-4464-a78c-bfb869c59af9</processid></stage><stage stageid="ad87b194-1683-4f66-bb5f-7037b5d80773" name="Process Data" type="Collection"><display x="90" y="-15" /><datatype>collection</datatype><private /><alwaysinit /><collectioninfo><field name="Conversation" type="text" /><field name="Phrase" type="text" /><field name="Expected" type="text" /><field name="Matches" type="flag" /><field name="Actual" type="text" /><field name="Session" type="text" /></collectioninfo></stage><stage stageid="30182239-cc54-4a42-8e3a-498da1a805d4" name="Collection to JSON" type="Action"><loginhibit onsuccess="true" /><display x="15" y="30" /><inputs><input type="collection" name="Data" friendlyname="Data" expr="[Process Data]" /></inputs><outputs><output type="text" name="JSON" friendlyname="JSON" stage="JSON" /></outputs><onsuccess>cc7f293c-3a49-49db-b5d8-6dc135b71964</onsuccess><resource object="Utility - JSON" action="Collection to JSON" /></stage><stage stageid="2439c424-a041-4f6e-af97-1c87f8a5e7e3" name="JSON" type="Data"><display x="165" y="-15" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage></process></process>
        <process id="2b4664ab-3928-4464-a78c-bfb869c59af9" name="Run Test Phrases" published="true" xmlns="http://www.blueprism.co.uk/product/process"><process name="Run Test Phrases" version="1.0" bpversion="6.10.0.30674" narrative="&#xD;&#xA;" byrefcollection="true"><view><camerax>-238</camerax><cameray>-117</cameray><zoom version="2">1.25</zoom></view><preconditions /><endpoint narrative="" /><subsheet subsheetid="927b3cfb-80a2-45b9-8af5-e0d7a1e67f32" type="Normal" published="False"><name>Process Data</name><view><camerax>-60</camerax><cameray>72</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="d70eaff5-a91c-4688-b4a8-a20414379a2b" type="Normal" published="False"><name>Load Data</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><stage stageid="631f0c3f-f132-4256-b67c-b1c66f01ef82" name="Start" type="Start"><display x="0" y="-210" /><inputs><input type="text" name="Excel File Path" stage="Excel File Path" /><input type="text" name="Excel Sheet Name" stage="Excel Sheet Name" /></inputs><onsuccess>2731367d-79cf-4097-b4ff-05b1db81c108</onsuccess></stage><stage stageid="ec440169-0051-45c6-9d63-2f4b99a6b492" name="Stage1" type="ProcessInfo"><display x="-135" y="-225" w="150" h="90" /></stage><stage stageid="84ab9450-9ce9-4b60-a21d-fa60d66c49ee" name="Load Data" type="SubSheetInfo"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><display x="-195" y="-105" w="150" h="90" /></stage><stage stageid="e64bd8ab-fbf6-45f8-a5f4-50b8be081988" name="Start" type="Start"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><display x="15" y="-105" /><inputs><input type="text" name="Excel Path" stage="Excel File Path" /><input type="text" name="Sheet Name" stage="Excel Sheet Name" /></inputs><onsuccess>79543a9d-4498-4f2d-a7a8-977a665e5f04</onsuccess></stage><stage stageid="2b420a13-35f6-4cff-bdbb-8755ef24b8b3" name="End" type="End"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><display x="15" y="120" /><outputs><output type="collection" name="Excel Data" stage="ExcelData" /></outputs></stage><stage stageid="7eb77da1-b7a7-4c27-9af3-7564dc80cb27" name="Get Phrases Data From Excel" type="Action"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><loginhibit onsuccess="true" /><display x="15" y="30" w="150" h="30" /><inputs><input type="number" name="handle" friendlyname="handle" narrative="The integer handle identifying the instance on which the worksheet which should be retrieved resides. The default of zero indicates the currently active instance." expr="[Handle]" /><input type="text" name="Workbook Name" friendlyname="Workbook Name" narrative="The name of the workbook which contains the sheet required. The default empty text indicates the currently active workbook on the specified instance." expr="[Workbook Name]" /><input type="text" name="Worksheet Name" friendlyname="Worksheet Name" narrative="The name of the worksheet within the specified workbook which should be written to a collection. The default empty text indicates the currently active worksheet within the specified workbook." expr="[Excel Sheet Name]" /><input type="text" name="Fetch Data With Method" friendlyname="Fetch Data With Method" narrative="The method used to fetch data from cells in the worksheet. Options include Text, Value, and Value2. The default indicates Value will be used." expr="" /></inputs><outputs><output type="collection" name="Data" friendlyname="Data" narrative="The collection containing the data from the specified worksheet - the column IDs will be gleaned from the first row on the sheet being retrieved." stage="ExcelData" /></outputs><onsuccess>0b10cbe4-c93b-40a2-886f-7617503f53bf</onsuccess><resource object="MS Excel VBO" action="Get Worksheet As Collection" /></stage><stage stageid="499d2e3b-5a67-4ca3-b4ea-aeb15276d8a5" name="ExcelData" type="Collection"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><display x="135" y="-15" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="681a5c53-c3e3-4fc4-874d-64ea1d843c9c" name="Excel File Path" type="Data"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><loginhibit onsuccess="true" /><display x="135" y="45" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b7071588-6bd4-44ed-8665-0c319d25fe81" name="Excel Sheet Name" type="Data"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><loginhibit onsuccess="true" /><display x="210" y="-15" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="79543a9d-4498-4f2d-a7a8-977a665e5f04" name="Instanciate Excel" type="Action"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-60" w="150" h="30" /><inputs><input type="flag" name="Enable Events" friendlyname="Enable Events" narrative="Flag to indicate that events should be enabled / disabled on the attached instance - defaulted to True" expr="" /></inputs><outputs><output type="number" name="handle" friendlyname="handle" narrative="An integer which can be used to identify the created instance in subsequent actions" stage="Handle" /></outputs><onsuccess>75927a95-7647-4da4-bbfb-36c3d68f6150</onsuccess><resource object="MS Excel VBO" action="Create Instance" /></stage><stage stageid="d33c2814-6fc8-4c54-8213-6753d30423ba" name="Handle" type="Data"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><display x="135" y="-60" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="75927a95-7647-4da4-bbfb-36c3d68f6150" name="Open Workbook" type="Action"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-15" w="150" h="30" /><inputs><input type="number" name="handle" friendlyname="handle" narrative="The integer handle identifying the instance on which the required workbook should be opened. The default of zero indicates the currently active instance." expr="[Handle]" /><input type="text" name="File name" friendlyname="File name" narrative="The path and name of the file which should be opened." expr="[Excel File Path]" /></inputs><outputs><output type="text" name="Workbook Name" friendlyname="Workbook Name" narrative="The name used by Excel to identify the workbook - usually this is the file name (without the path)." stage="Workbook Name" /></outputs><onsuccess>7eb77da1-b7a7-4c27-9af3-7564dc80cb27</onsuccess><resource object="MS Excel VBO" action="Open Workbook" /></stage><stage stageid="f14fd585-d80a-4ed6-816d-640336266ae1" name="Workbook Name" type="Data"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><display x="225" y="-60" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="1c29c5bd-0c92-4183-86e7-1938489a7860" name="Excel Sheet Name" type="Data"><display x="-225" y="-135" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="99603e57-ea1a-4b33-a822-8f0270070e44" name="Phrase Data" type="Collection"><display x="-90" y="-135" /><datatype>collection</datatype><alwaysinit /><collectioninfo><field name="Matches" type="flag" /><field name="Conversation" type="number" /><field name="Phrase" type="text" /><field name="Expected" type="text" /><field name="Actual" type="text" /><field name="Session" type="text" /></collectioninfo></stage><stage stageid="2731367d-79cf-4097-b4ff-05b1db81c108" name="Load Data" type="SubSheet"><loginhibit onsuccess="true" /><display x="0" y="-150" /><inputs><input type="text" name="Excel Path" friendlyname="Excel Path" expr="[Excel File Path]" /><input type="text" name="Sheet Name" friendlyname="Sheet Name" expr="[Excel Sheet Name]" /></inputs><outputs><output type="collection" name="Excel Data" friendlyname="Excel Data" stage="Phrase Data" /></outputs><onsuccess>c7d43413-c353-4ad0-9039-221409032c43</onsuccess><processid>d70eaff5-a91c-4688-b4a8-a20414379a2b</processid></stage><stage stageid="6bf3e182-3afe-4f3f-b364-0f04ea197278" name="Excel File Path" type="Data"><display x="-165" y="-135" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0b10cbe4-c93b-40a2-886f-7617503f53bf" name="MS Excel VBO::Close All Instances" type="Action"><subsheetid>d70eaff5-a91c-4688-b4a8-a20414379a2b</subsheetid><loginhibit onsuccess="true" /><display x="15" y="75" w="150" h="30" /><onsuccess>2b420a13-35f6-4cff-bdbb-8755ef24b8b3</onsuccess><resource object="MS Excel VBO" action="Close All Instances" /></stage><stage stageid="28d435e9-dd22-4a8e-ab50-85d9d332d056" name="Process Data" type="SubSheetInfo"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-270" y="195" w="150" h="90" /></stage><stage stageid="61855bde-eeff-4d2d-aae1-58236cc56713" name="Start" type="Start"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-165" y="-105" /><onsuccess>4913d3e6-d473-4ab5-9e48-3f717ac4957c</onsuccess></stage><stage stageid="af788ba7-cdfb-4693-9693-1276fa469189" name="End1" type="End"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="15" y="270" /></stage><stage stageid="7a75a3b2-58ce-4509-bf8d-97df985b4466" name="Teneo  -  Send Message" type="Action"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="15" y="75" /><inputs><input type="text" name="command" friendlyname="command" expr="" /><input type="text" name="userinput" friendlyname="userinput" expr="[message]" /><input type="text" name="sessionID" friendlyname="sessionID" expr="[SessionID]" /></inputs><outputs><output type="text" name="Response Content" friendlyname="Response Content" stage="Response Content" /><output type="text" name="HTTP Status Code" friendlyname="HTTP Status Code" stage="HTTP Status Code" /><output type="collection" name="Response Headers" friendlyname="Response Headers" stage="Response Headers" /><output type="collection" name="Output" friendlyname="Output" stage="Teneo Response Data" /><output type="text" name="SessionID" friendlyname="SessionID" stage="SessionID" /><output type="text" name="Request Data" friendlyname="Request Data" stage="Request Data" /></outputs><onsuccess>49b6b674-4fbb-4ddb-94c1-1fe8fac9382f</onsuccess><resource object="Teneo Fetch" action="GET" /></stage><stage stageid="ec0bcedd-d322-403a-ba15-4eb5f2485a13" name="Teneo Response Data" type="Collection"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-90" y="90" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="87a106cf-a0c5-44e7-bbd1-a04b8950de97" name="Response Content" type="Data"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-210" y="90" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="fe48e896-bd74-4697-b7d7-d0b3b4b9e78c" name="HTTP Status Code" type="Data"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-330" y="90" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3eff0836-4389-4901-aae3-d2e968df8603" name="Response Headers" type="Collection"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-150" y="90" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="aa498234-0a8b-483b-9142-b644a4639586" name="Request Data" type="Data"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-270" y="90" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4913d3e6-d473-4ab5-9e48-3f717ac4957c" name="Check Phrases" type="LoopStart"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="-165" y="-45" /><onsuccess>44621026-527d-4a7c-b5df-d5946d128355</onsuccess><groupid>092a7ed1-0f2c-4789-9f5e-38bc85457904</groupid><looptype>ForEach</looptype><loopdata>Phrase Data</loopdata></stage><stage stageid="7029541c-c79b-42c7-b5d3-7bc92be38355" name="Check Phrases" type="LoopEnd"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="15" y="195" /><onsuccess>af788ba7-cdfb-4693-9693-1276fa469189</onsuccess><groupid>092a7ed1-0f2c-4789-9f5e-38bc85457904</groupid></stage><stage stageid="f37e006a-cf01-4292-bcd0-6c476d52f2e2" name="Is Same Conversation?" type="Decision"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="15" y="-45" /><decision expression="[Current Phrase Conversation Number]=[Last Phrase Conversation Number]" /><ontrue>d9346ff9-55ce-4c88-a80d-e9bdceee709b</ontrue><onfalse>db5ff6f0-0571-48e0-b464-cf72a9a711a3</onfalse></stage><stage stageid="1c45623d-9d25-4201-bae4-68b409b795c8" name="Last Phrase Conversation Number" type="Data"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="-270" y="-30" /><datatype>number</datatype><initialvalue>1</initialvalue><private /><alwaysinit /></stage><stage stageid="70282bfd-2266-4f80-93e9-16c31e4afc2f" name="Current Phrase Conversation Number" type="Data"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="-330" y="-30" /><datatype>number</datatype><initialvalue>1</initialvalue><private /><alwaysinit /></stage><stage stageid="44621026-527d-4a7c-b5df-d5946d128355" name="Set Current Conversation Number" type="Calculation"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="-75" y="-45" /><onsuccess>f37e006a-cf01-4292-bcd0-6c476d52f2e2</onsuccess><calculation expression="[Phrase Data.Conversation]" stage="Current Phrase Conversation Number" /></stage><stage stageid="d9346ff9-55ce-4c88-a80d-e9bdceee709b" name="Set Last Conversation Number" type="Calculation"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="15" y="15" /><onsuccess>7a75a3b2-58ce-4509-bf8d-97df985b4466</onsuccess><calculation expression="[Phrase Data.Conversation]" stage="Last Phrase Conversation Number" /></stage><stage stageid="db5ff6f0-0571-48e0-b464-cf72a9a711a3" name="End Session" type="Action"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="195" y="-45" /><inputs><input type="text" name="sessionID" friendlyname="sessionID" expr="[SessionID]" /></inputs><outputs><output type="text" name="Response Content" friendlyname="Response Content" stage="Response Content" /><output type="text" name="HTTP Status Code" friendlyname="HTTP Status Code" stage="HTTP Status Code" /><output type="collection" name="Response Headers" friendlyname="Response Headers" stage="Response Headers" /><output type="number" name="status" friendlyname="status" stage="status" /><output type="text" name="message" friendlyname="message" stage="message" /><output type="text" name="Request Data" friendlyname="Request Data" stage="Request Data" /></outputs><onsuccess>2384401c-beaf-419e-b89d-d3e218696831</onsuccess><resource object="Teneo Fetch" action="End Session" /></stage><stage stageid="4f38eca9-8096-4ce1-b86b-4056dd8dfc88" name="status" type="Data"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-330" y="30" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2384401c-beaf-419e-b89d-d3e218696831" name="Session Ended Successfully?" type="Decision"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="195" y="15" /><decision expression="[status]=1" /><ontrue>18389af2-d282-4671-bbc2-947b7c5e3578</ontrue><onfalse>6fa26eb6-b74c-46d7-962d-54bb2cca3bc7</onfalse></stage><stage stageid="6fa26eb6-b74c-46d7-962d-54bb2cca3bc7" name="Error Ending Session" type="Exception"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="330" y="15" /><exception localized="yes" type="Teneo Exception" detail="&quot;Session was not ended successfully&quot;" /></stage><stage stageid="e7b35dd7-231c-4f7c-83c1-61a168eee793" name="message" type="Data"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-195" y="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="49b6b674-4fbb-4ddb-94c1-1fe8fac9382f" name="Set Values" type="MultipleCalculation"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="15" y="135" /><onsuccess>7029541c-c79b-42c7-b5d3-7bc92be38355</onsuccess><steps><calculation expression="[Teneo Response Data.text]=[Phrase Data.Expected]" stage="Phrase Data.Matches" /><calculation expression="[Teneo Response Data.text]" stage="Phrase Data.Actual" /><calculation expression="[SessionID]" stage="Phrase Data.Session" /></steps></stage><stage stageid="4c5798f4-9678-4c67-bfc9-a424da3a5895" name="SessionID" type="Data"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><display x="-255" y="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="18389af2-d282-4671-bbc2-947b7c5e3578" name="Clear SessionID" type="Calculation"><subsheetid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</subsheetid><loginhibit onsuccess="true" /><display x="105" y="15" /><onsuccess>d9346ff9-55ce-4c88-a80d-e9bdceee709b</onsuccess><calculation expression="&quot;&quot;" stage="SessionID" /></stage><stage stageid="c7d43413-c353-4ad0-9039-221409032c43" name="Process Data" type="SubSheet"><loginhibit onsuccess="true" /><display x="0" y="-90" /><onsuccess>d4b4fa70-70d0-4c50-b9dd-705354e9fb3b</onsuccess><processid>927b3cfb-80a2-45b9-8af5-e0d7a1e67f32</processid></stage><stage stageid="d4b4fa70-70d0-4c50-b9dd-705354e9fb3b" name="End" type="End"><loginhibit onsuccess="true" /><display x="0" y="-30" /><outputs><output type="collection" name="Process Data" stage="Phrase Data" /></outputs></stage></process></process>
        <object id="66085a0f-6bf6-45e2-b5ed-6345f014f05b" name="MS Excel VBO" xmlns="http://www.blueprism.co.uk/product/process"><process name="MS Excel VBO" version="6.10.0.30674" bpversion="6.10.0.30674" narrative="The VBO replacement for the Common Automation Excel business object" byrefcollection="true" type="object" runmode="Exclusive"><appdef><element name="Application Root"><id>ca515603-8af2-4608-8a70-31028a7d9a0b</id><type>Application</type><basetype>Application</basetype><datatype>unknown</datatype><diagnose>False</diagnose></element></appdef><view><camerax>-133</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view><preconditions /><endpoint narrative="" /><subsheet subsheetid="ab6c7fcd-9997-4c5c-9ff1-2dcb5879975a" type="CleanUp" published="True"><name>Clean Up</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="67651307-0389-47bf-ae8d-fd94364e808f" type="Normal" published="True"><name>Remove Blank Rows</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="492548e8-2fa5-473e-9061-df8326d46e4c" type="Normal" published="False"><name>CheckInstanceHandle</name><view><camerax>-54</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="9f7a4a91-68c9-4871-bb65-417e96cc4ad1" type="Normal" published="False"><name>CheckInstanceAndWorkbook</name><view><camerax>-157</camerax><cameray>-70</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="41a07606-d51b-4fe3-a076-7a77a4ca2cde" type="Normal" published="False"><name>CheckFileExists</name><view><camerax>-22</camerax><cameray>-32</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="99e648cc-a136-471c-8424-19071c0fd9e7" type="Normal" published="True"><name>Create Instance</name><view><camerax>-60</camerax><cameray>-42</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="ec281dc5-ed57-4b8b-9bf5-212e314657aa" type="Normal" published="True"><name>Open Instance</name><view><camerax>209</camerax><cameray>-94</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="7ad81501-44a1-48ab-94fd-9b2c35ed20b8" type="Normal" published="True"><name>Attach</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="2b3544ad-af96-4f40-9b50-16dfbe0600f1" type="Normal" published="True"><name>Attach to workbook</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="6ec3006a-6553-4526-b522-32526c4aa3cc" type="Normal" published="True"><name>Close Instance</name><view><camerax>0</camerax><cameray>-42</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="4fb11e41-83d8-461d-8c0d-04cdd2f670e2" type="Normal" published="True"><name>Release Instance</name><view><camerax>0</camerax><cameray>-84</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="dc33871a-9aec-4a29-b811-3ab205ddf41e" type="Normal" published="True"><name>Exit</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="feb8ce9f-299e-4152-85a1-354a5f9d995c" type="Normal" published="True"><name>Close All Instances</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="859e3c31-acbc-48dd-8535-ef2ce9385d70" type="Normal" published="True"><name>Set Current Instance</name><view><camerax>-36</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="69db5cf5-4908-49c7-9027-8f48e26e5b27" type="Normal" published="True"><name>Set Events Enabled</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="268628ce-c0f3-492a-be5c-87b432e16d1d" type="Normal" published="True"><name>Show</name><view><camerax>0</camerax><cameray>-131</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="ef10421c-e1ff-4227-b367-c53059a6766d" type="Normal" published="True"><name>Hide</name><view><camerax>-62</camerax><cameray>-56</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="73b8ddb4-b679-4697-b3c4-79ce833a9456" type="Normal" published="True"><name>Create Workbook</name><view><camerax>-81</camerax><cameray>-204</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="2fb01e3f-e275-43bc-83eb-579001da335b" type="Normal" published="True"><name>Open Workbook</name><view><camerax>0</camerax><cameray>-15</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="6632ed99-8751-4c2a-ad00-3cc016300e08" type="Normal" published="True"><name>Activate Workbook</name><view><camerax>-137</camerax><cameray>-75</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="6e7cb0ad-5910-4065-aab2-2919726bae39" type="Normal" published="True"><name>Save Workbook</name><view><camerax>-44</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="76d598ed-b254-4c1e-8004-d4f2928b1450" type="Normal" published="True"><name>Save Current Workbook</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="21a53e34-8128-41cb-ad73-17250758ff23" type="Normal" published="True"><name>Save Workbook As</name><view><camerax>-64</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="81b9e5cd-a91d-4a33-bc23-1602c5fe878f" type="Normal" published="True"><name>Save Current Workbook As</name><view><camerax>-135</camerax><cameray>-3</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="6ccaae8b-c06f-45c8-8772-835218881458" type="Normal" published="True"><name>Close Workbook</name><view><camerax>-232</camerax><cameray>110</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="efe9d5bd-c8f0-42e1-aadc-6c7b0bfdd92c" type="Normal" published="True"><name>Close Current Workbook</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="ddb3c741-0c59-4ac8-a260-258fb8eb1674" type="Normal" published="True"><name>Is Read Only</name><view><camerax>-91</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="733c2840-8162-465a-a8f2-7d023087c369" type="Normal" published="True"><name>Activate Worksheet</name><view><camerax>-132</camerax><cameray>-106</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="f78a5f80-c2d5-4e9b-ae08-a56fb8007b18" type="Normal" published="True"><name>Create Worksheet</name><view><camerax>-120</camerax><cameray>-84</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="37a2442f-8e22-4749-8b44-4ef2980f28a6" type="Normal" published="True"><name>Delete Worksheet</name><view><camerax>16</camerax><cameray>25</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="79b9bf7c-222d-4cc3-adc8-5bb337fa6d72" type="Normal" published="True"><name>Move Worksheet</name><view><camerax>85</camerax><cameray>98</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="da83b3dd-0312-4b53-9732-e3f8e29c561f" type="Normal" published="True"><name>Copy and Paste Worksheet Range</name><view><camerax>0</camerax><cameray>84</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30" type="Normal" published="True"><name>Get Worksheet As Collection</name><view><camerax>-242</camerax><cameray>-126</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="e58a482d-f349-4f40-9b03-a903156ce1b5" type="Normal" published="True"><name>Get Worksheet As Collection (Fast)</name><view><camerax>0</camerax><cameray>-156</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="92799072-140a-4621-89cd-2da12475dcda" type="Normal" published="True"><name>Get Worksheet as Collection Offset</name><view><camerax>-119</camerax><cameray>-589</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e" type="Normal" published="True"><name>Get Worksheet Range As Collection</name><view><camerax>147</camerax><cameray>-33</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="f743df98-2e69-4559-89b6-32ef6637618d" type="Normal" published="True"><name>Split Worksheet</name><view><camerax>0</camerax><cameray>-21</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="becd6faa-f5c0-4d3a-a48a-cb54d3aa8909" type="Normal" published="True"><name>Get Worksheet Names</name><view><camerax>-10</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67" type="Normal" published="True"><name>Get Worksheet Name</name><view><camerax>-27</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="510b0ce5-bf46-43a1-86a4-72877f427e6f" type="Normal" published="True"><name>Get Worksheet Position</name><view><camerax>0</camerax><cameray>38</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="eacc4634-9985-4a1d-9773-8f79928708ee" type="Normal" published="True"><name>Worksheet Exists</name><view><camerax>105</camerax><cameray>81</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="dc139ac7-b971-481e-9528-b1521ae9fc92" type="Normal" published="True"><name>Get Number Of Rows</name><view><camerax>8</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="ed502669-4207-4c88-895d-8c58ec321578" type="Normal" published="True"><name>Go To Cell</name><view><camerax>-6</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="b0b877cd-07ce-4df1-a63b-89fa4d315c4c" type="Normal" published="True"><name>Go To Next Cell</name><view><camerax>-180</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c" type="Normal" published="True"><name>Get Active Cell</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="0b5de6c6-ed9a-443d-95b8-142dd521120e" type="Normal" published="True"><name>Find Next Empty Cell</name><view><camerax>0</camerax><cameray>-42</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="eaafa766-b0ce-4891-8e6e-de12d6283ae0" type="Normal" published="True"><name>Go To Next Empty Cell Left</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="d2d4c80d-3058-4d60-8e96-7b9b12f9ae58" type="Normal" published="True"><name>Go To Next Empty Cell Right</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="5a78c1a5-e339-4f76-9203-d180bee31770" type="Normal" published="True"><name>Go To Next Empty Cell Up</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="82492075-b486-413c-9bd4-05eba466843e" type="Normal" published="True"><name>Go To Next Empty Cell Down</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="5698ca16-b00d-4d62-9d9b-e76e8295b556" type="Normal" published="True"><name>Set Cell Value</name><view><camerax>55</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="0dbe03a0-e259-47ab-bee7-7dec41ae32e7" type="Normal" published="True"><name>Write Collection</name><view><camerax>0</camerax><cameray>-63</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="0e031661-2f5e-4cb2-949b-97babe59ff81" type="Normal" published="True"><name>Get Cell Value</name><view><camerax>0</camerax><cameray>-4</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="d96215cc-750e-4616-8852-1d4d44a9f21b" type="Normal" published="True"><name>Get Active Cell Value</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="17f8ab72-203a-42d4-a59b-a073ccd57bb0" type="Normal" published="True"><name>Get Formatted Cell Value</name><view><camerax>-54</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c" type="Normal" published="True"><name>Format Cell</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="9b535bfc-4f80-4d7c-88b5-49b941688030" type="Normal" published="True"><name>Format Current Cell</name><view><camerax>0</camerax><cameray>-28</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="39374841-edab-4ea9-86d9-5f2fff3f1a5f" type="Normal" published="True"><name>Set Window Size</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="904eeb0d-e6a2-408b-99b5-621307252585" type="Normal" published="True"><name>Set Window Location</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="d4998c94-d432-4713-81a5-e902535089c6" type="Normal" published="True"><name>Set Window State</name><view><camerax>-11</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="9147cb85-5c6f-4a47-adcf-ab472d5a0b5a" type="Normal" published="True"><name>Select</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a" type="Normal" published="True"><name>Delete</name><view><camerax>82</camerax><cameray>21</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="659749b0-1f00-4e33-956d-6be6172a8739" type="Normal" published="True"><name>Insert</name><view><camerax>0</camerax><cameray>42</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="71ebd060-a411-45fc-8f39-132eb3e5ff79" type="Normal" published="True"><name>Copy</name><view><camerax>98</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="5eee765d-c84b-493f-9132-f6a27f296d0e" type="Normal" published="True"><name>Cut</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="035d5ed0-2f39-46ca-80c1-b0127418dc9e" type="Normal" published="True"><name>Paste</name><view><camerax>-282</camerax><cameray>42</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="2c59601b-2b70-4c97-a218-0abf1bf7463a" type="Normal" published="True"><name>Write To Clipboard</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="c37e9923-b729-471b-80b1-7d44113ca618" type="Normal" published="True"><name>Protect Workbook</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="7316eded-6aed-4d1d-9eeb-64fbbb8e53a0" type="Normal" published="True"><name>Hide Worksheet</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="e62b9c20-62f8-4d28-8f19-de7610e56e1e" type="Normal" published="True"><name>Hide Other Worksheets</name><view><camerax>-276</camerax><cameray>-917</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="1487aa65-ac8a-44e9-a6e9-8b16b4be5199" type="Normal" published="True"><name>Import CSV</name><view><camerax>52</camerax><cameray>88</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="4229da44-68c0-4b51-9d2c-08be4a9d6727" type="Normal" published="True"><name>Run Macro</name><view><camerax>0</camerax><cameray>42</cameray><zoom version="2">1.25</zoom></view></subsheet><stage stageid="8f886cd8-eef6-485f-b9f3-0086c90eecdb" name="Start" type="Start"><loginhibit /><display x="0" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>d0d87ebb-154d-4756-8b89-d2d5445479ae</onsuccess></stage><stage stageid="d0d87ebb-154d-4756-8b89-d2d5445479ae" name="End" type="End"><loginhibit /><display x="0" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="13efd9ee-454d-4e73-a19d-91a25c412087" name="Stage1" type="ProcessInfo"><display x="-195" y="-105" w="180" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /><references><reference>System.Data.dll</reference><reference>System.Xml.dll</reference><reference>System.Drawing.dll</reference><reference>System.Windows.Forms.dll</reference></references><imports><import>System</import><import>System.Drawing</import><import>System.Collections.Generic</import><import>System.IO</import><import>Microsoft.VisualBasic</import><import>System.Windows.Forms</import><import>System.Data</import><import>System.Diagnostics</import><import>System.Text</import><import>System.Threading</import><import>System.Runtime.InteropServices</import></imports><language>visualbasic</language><globalcode><![CDATA[]]></globalcode><code><![CDATA[
' External functions used to make sure the excel instances are exited and processes killed
Declare Function EndTask Lib "user32.dll" (ByVal hWnd As IntPtr) As Integer
Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
	   (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" _
       (hWnd1 As IntPtr, hWnd2 As IntPtr, lpsz1 As String, lpsz2 As String) As IntPtr
Declare Function GetWindowThreadProcessId Lib "user32.dll" _
	   (ByVal hWnd As IntPtr, ByRef lpdwProcessId As Integer) As Integer
Declare Function SetLastError Lib "kernel32.dll" _
       (ByVal dwErrCode As Integer) As IntPtr
Declare Function AccessibleObjectFromWindow Lib "oleacc.dll" _
       (hWnd As IntPtr, dwId As Int32, ByRef riid As Guid, <MarshalAs(UnmanagedType.Interface)> ByRef ppvObject As Object) As Int32

' The 'active' instance of excel.
' This is updated on any access of an instance (either adding a new
' instance or getting one)
'
Private CurrentInstance As Object

' Map of instances keyed against the handles which represent them.
'
Private HandleMap As Dictionary(Of Integer, Object)

' Map of handles keyed against the instances they represent.
' Here to ensure we don't assign multiple handles to a single
' instance and bring about a memory leak
'
Private InstanceMap As Dictionary(Of Object, Integer)

' Constructor - this just initialises the collections which map
' the excel instances to handles and vice versa.
Public Sub New()

	Me.HandleMap = New Dictionary(Of Integer, Object)()
	Me.InstanceMap = New Dictionary(Of Object, Integer)()

End Sub

' Execute a sub within a specific timeout period
'
' @param timeout The number of seconds to wait before timing out
' @param name The name of the operation
' @param operation The operation to perform
Private Sub ExecWithTimeout(timeout As Integer, name As String, operation As Action)
    Dim ar = operation.BeginInvoke(Nothing, Nothing)
    If Not ar.AsyncWaitHandle.WaitOne(TimeSpan.FromSeconds(timeout)) Then
        Throw New TimeoutException(name & " took more than " & timeout & " secs.")
    End If
    operation.EndInvoke(ar)
End Sub

' Execute a function within a specific timeout period
'
' @param timeout The number of seconds to wait before timing out
' @param name The name of the operation
' @param operation The operation to perform
'
' @return The result of the operation
Private Function ExecWithTimeout(Of T)(timeout As Integer, name As String, operation As Func(Of T)) As T
    Dim ar = operation.BeginInvoke(Nothing, Nothing)
    If Not ar.AsyncWaitHandle.WaitOne(TimeSpan.FromSeconds(timeout)) Then
        Throw New TimeoutException(name & " took more than " & timeout & " secs.")
    End If
    return operation.EndInvoke(ar)
End Function

' Used to hold a reference to the last exception that occurred
' Be careful to set back to nothing when the type has been checked.
Private mLastException As Exception = Nothing

' Loops over all excel instances and gets the instance with a given
' workbook name. This uses active accessibility because:
'     Dim application = GetObject(,"Excel.Application)
'     application.Windows(workbookName).Activate()
' dosen't work if there is more than one instance of excel
'
' @param workBookName The name of the workbook
'
' @return The application instance
Public Function OpenNamedObjectAA(workbookName As String) As Object
    Const OBJID_NATIVEOM = &HFFFFFFF0
    Dim IID_DISPATCH As New Guid("00020400-0000-0000-C000-000000000046")
    Dim workBook As Object = Nothing
    Do
        Dim XLhwnd As IntPtr = FindWindowEx(IntPtr.Zero, XLhwnd, "XLMAIN", Nothing)
        If IntPtr.Equals(XLhwnd, IntPtr.Zero) Then Exit Do
        Dim XLDESKhwnd As IntPtr = FindWindowEx(XLhwnd, IntPtr.Zero, "XLDESK", Nothing)
        Dim WBhwnd As IntPtr = FindWindowEx(XLDESKhwnd, IntPtr.Zero, "EXCEL7", Nothing)
        AccessibleObjectFromWindow(WBhwnd, OBJID_NATIVEOM, IID_DISPATCH, workBook)
        If workBook IsNot Nothing Then
            Dim application As Object = workBook.Application
            If application IsNot Nothing Then
                Try
                    application.Windows(workbookName).Activate()
                    Return application
                Catch ex As Exception
                    Continue Do
                End Try
            End If
        End If
    Loop
    Throw new Exception("Excel with workbook name '" & workBookName & "' not found.")
End Function

' Gets the handle for a given instance
'
' If the instance is not yet held, then it is added to the 
' 	map and a handle is assigned to it. It is also set as the
' 	'current' instance, accessed with a handle of zero in the
' 	below methods.
'
' Either way, the handle which identifies the instance is returned
'
' @param Instance The instance for which a handle is required
'
' @return The handle of the instance
Protected Function GetHandle(Instance As Object) As Integer

	If Instance Is Nothing Then
		Throw New ArgumentNullException("Tried to add an empty instance")
	End If

	' Check if we already have this instance - if so, return it.
	If InstanceMap.ContainsKey(Instance) Then
		CurrentInstance = Instance
		Return InstanceMap(Instance)
	End If

	Dim key as Integer
	For key = 1 to Integer.MaxValue
		If Not HandleMap.ContainsKey(key)
			HandleMap.Add(key, Instance)
			InstanceMap.Add(Instance, key)
			Me.CurrentInstance = Instance
			Return key
		End If
	Next key

	Return 0

End Function


' Gets the instance corresponding to the given handle, setting
' 	the instance as the 'current' instance for future calls
'
' A value of 0 will provide the 'current' instance, which
' 	is set each time an instance is added or accessed.
'
' This will return Nothing if the given handle does not
' correspond to a registered instance, or if the current
' instance was closed and the reference has not been updated.
'
' @param Handle The handle representing the instance required,
' 		or zero to get the 'current' instance.
Protected Function GetInstance(Handle As Integer) As Object

	Dim Instance As Object = Nothing
	
	If Handle = 0 Then
		If CurrentInstance Is Nothing Then
			' Special case - getting the current instance when the
			' instance is not set, try and get a current open instance.
			' If none there, create a new one and assign a handle as if
			' CreateInstance() had been called
		'	Try
		'		Instance = GetObject(,"Excel.Application")
		'	Catch ex as Exception ' Not running
		'		Instance = Nothing
		'	End Try
		'	If Instance Is Nothing Then
				Create_Instance(Handle)
				' Instance = CreateObject("Excel.Application")
				' Force the instance into the maps.
				' GetHandle(Instance)
				' CurrentInstance should now be set.
				' If it's not, we have far bigger problems
		'	End If
		End If
		Return CurrentInstance
	End If

	Instance = HandleMap(Handle)
	If Not Instance Is Nothing Then
		CurrentInstance = Instance
	End If
	Return Instance

End Function

' Helper method in forcing a com object to be released.
Private Sub ReleaseObject(ByVal comOj As Object)
	Try
		System.Runtime.InteropServices.Marshal.ReleaseComObject(comOj)
		System.Runtime.InteropServices.Marshal.FinalReleaseComObject(comOj)
		comOj = Nothing
	Catch ex As Exception
		comOj = Nothing
	Finally
		' Why is GC.Collect being called twice?
		' See https://msdn.microsoft.com/en-us/library/ff647790.aspx?f=255&MSPPError=-2147217396#scalenetchapt05_topic9
		GC.Collect()
		GC.WaitForPendingFinalizers()
		GC.Collect()
	End Try
End Sub

' Close the instance with the given handle, not saving any work, making
' sure that it is removed from this VBO's collection of instances
'
' @param Handle The handle representing the instance to close
Protected Sub CloseInstance(Handle As Integer)
	CloseInstance(Handle, False)
End Sub

' Close the instance with the given handle, saving the work as specified.
'
' @param Handle The handle representing the instance
'
' @param SaveWorkbooks True to save the workbooks before quitting the instance,
' 		False to discard any changes
Protected Sub CloseInstance(Handle As Integer, SaveWorkbooks As Boolean)
	
	Dim Instance As Object = Nothing
	If Handle = 0 AndAlso CurrentInstance Is Nothing Then
		Throw New NullReferenceException("Tried to close nonexistent current instance")
	ElseIf Handle = 0 ' Current Instance - reset it
		Handle = GetHandle(CurrentInstance) ' We need the handle to remove from HandleMap
		Instance = CurrentInstance
		CurrentInstance = Nothing
	Else
		Instance = GetInstance(Handle)
	End If

	Me.HandleMap.Remove(Handle)
	Me.InstanceMap.Remove(Instance)

	Instance.DisplayAlerts = False ' Hide alerts
	
	' First close all the workbooks and the workbooks collection
	Dim wbs as Object = Instance.Workbooks
	If wbs IsNot Nothing Then
		For Each Workbook As Object In wbs
			Workbook.Close(SaveWorkbooks)
			ReleaseObject(Workbook)
		Next
		wbs.Close()
	End If
	ReleaseObject(wbs)

	' Try quitting - sometimes this is enough
	Instance.Quit()
	
	' Try and force a com object release - this might quit excel for us.
	ReleaseObject(Instance)

	' Now if the com object has released the RCW, we need to stop
	' We'll know because if we try and get the version and it fails
	' then the COM object has been cleaned up.
	' If so, end the proc now - we have to assume the instance is gone
	
	Dim Ver as Double = 0.0
	Try
		Ver = Val(Instance.Version)
	Catch ex as Exception
		' Not got the version - assuming cleared up
		Return
	Finally
		SetLastError(0) ' If any errors have occurred thus far, clear them
	End Try

	' Now it's the messy stuff to try and find the excel instance and nuke
	' it from orbit. It's the only way to be sure.

	' The window handle for the excel instance
	Dim hwnd As IntPtr = IntPtr.Zero
	' Later versions of excel expose the window handle
	If Val(Ver) >= 10 Then _
		hwnd = New IntPtr(CType(Instance.Parent.Hwnd, Integer))
		
	' If the window handle isn't set, must be an earlier version of excel
	' Use FindWindow to find the window with the GUID that we set in it on creation
	If IntPtr.Equals(hwnd, IntPtr.Zero) Then _
		hwnd = FindWindow(Nothing, Instance.Caption)
	
	' If the window handle is still zero, the instance must already be closed
	If Not IntPtr.Equals(hwnd, IntPtr.Zero) Then
	
        ' Get the process ID for the window we have
		Dim resp, procId as Integer
        resp = GetWindowThreadProcessId(hwnd, procId)
		
        If procId = 0 Then ' can’t get Process ID
            If EndTask(hwnd) = 0 Then ' EndTask returns a bool - 0 = False
				Throw New ApplicationException("Failed to close Excel Instance.")
			End If
        Else ' We have a process ID - use it to kill excel
			Dim proc As Process = Process.GetProcessById(procId)
			' Try clicking the 'X'
			proc.CloseMainWindow()
			proc.Refresh()

			If Not proc.HasExited Then
				proc.Kill()	' Last resort - kill it with fire
			End If	
		End If	
	End If

End Sub

' Creates a new workbook in the instance represented by the given handle
'
' @param Handle The handle of the instance on which the workbook should be held
'
' @return The workbook object that was created.
Protected Function NewWorkbook(Handle as Integer) As Object

	Dim wb as Object = GetInstance(handle).Workbooks.Add()

	' Create a new Worksheet?
	if wb.Worksheets.Count = 0 Then
		wb.Sheets.Add().Activate()
	Else ' Just use the first sheet
		wb.Sheets(1).Activate()
	End If
	
	Return wb
	
End Function

' Gets the workbook in the given instance with the given name.
'
' @param Handle The handle representing the instance which holds the workbook
'
' @param Name The name of the workbook on the instance
'
' @return The object representing the workbook defined
Protected Function GetWorkbook(Handle As Integer, Name as String) As Object

	Dim wb as Object = Nothing
	If String.IsNullOrEmpty(Name) Then
		wb = GetInstance(Handle).ActiveWorkbook
		If wb Is Nothing ' We need to create a deafult workbook
			wb = NewWorkbook(Handle)
		End If
		Return wb
	Else
		Return GetInstance(Handle).Workbooks(Name)
	End If

End Function

' Gets the worksheet specified by the given handle, workbook name and
' worksheet name. If no such sheet is available, this will create a
' new one and return that
'
' @param Handle The handle identifying the instance which should be
' 		acted on
'
' @param WorkbookName The name of the workbook within the instance
'
' @param WorksheetName The name of the worksheet required
'
' @return The sheet object representing the sheet with the given name
Protected Function GetWorksheet(Handle As Integer, _
		WorkbookName As String, _
		WorksheetName As String) As Object

	Return GetWorksheet(Handle,WorkbookName,WorksheetName,True)

End Function

' Gets the worksheet specified by the given handle, workbook name and
' worksheet name. If no such sheet is available, this will create a
' new one or return Nothing, depending on the given flag
'
' @param Handle The handle identifying the instance which should be
' 		acted on
'
' @param WorkbookName The name of the workbook within the instance
'
' @param WorksheetName The name of the worksheet required
'
' @param CreateIfNotExists True to create the worksheet if it doesn't
' 		exist; False to return Nothing if it doesn't exist.
'
' @return The sheet object representing the sheet required or Nothing
'		if no such sheet exists and CreateIfNotExists was False
Protected Function GetWorksheet(Handle As Integer, _
		WorkbookName As String, _
		WorksheetName As String, _
		CreateIfNotExists As Boolean) As Object

	Dim wb As Object = GetWorkbook(Handle, WorkbookName)
	
	If (String.IsNullOrEmpty(WorksheetName)) Then

		Dim ws as Object = wb.ActiveSheet
		If ws Is Nothing Then
			Return wb.Sheets.Add()
		Else
			Return ws
		End If

	Else
		Dim sheets as Object = wb.Sheets
		If sheets IsNot Nothing Then
			For Each sheet as Object in sheets
				If sheet.Name = WorksheetName Then _
					Return sheet
			Next
		End If
		' Didn't find the sheet...
		If CreateIfNotExists Then

			Dim sheet as Object = sheets.Add()
			sheet.Name = WorksheetName
			Return sheet

		End If
		' Nothing else we can do - return nowt
		Return Nothing

	End If

End Function

' Gets the next cell, relative to a given cell in a given direction
' Note that if the cell is at a boundary, then the same cell is returned.
'
' @param cell : The cell to use as a base cell
'
' @param strDir : one of "L", "R", "U", "D" representing a direction from
' 		the given cell to move in.
'
' @return : The cell object representing the 'next cell' 
Protected Function GetNextCell(cell as Object, strDir as String) As Object
	
	Try
		Select Case strDir
			Case "L"
				cell = cell.Offset(0,-1)
			Case "R"
				cell = cell.Offset(0,1)
			Case "U"
				cell = cell.Offset(-1,0)
			Case "D"
				cell = cell.Offset(1,0)
		End Select
	Catch ex As Exception
		' A COM Exception is thrown if the cell is at a boundary and the offset
		' would break that boundary
	End Try
	
	Return cell

End Function

Const SchemaColumnName As String = "Column Name"

Function GetWorkSheetUsedRangeAsDataTable(
	usedRange as object, 
	firstRowIsHeader As Boolean,
	fetchDataWithMethod As String) As DataTable	
	
	If usedRange Is Nothing Then Throw new ArgumentNullException("usedRange")

	Dim range(usedRange.Rows.Count, usedRange.Columns.Count) As Object

	Select Case fetchDataWithMethod

		Case "Text"
			For currentRow As Integer = 1 To usedRange.Rows.Count
				For currentColumn As Integer = 1 To usedRange.Columns.Count
					Dim text = usedRange.Rows(currentRow).Cells(currentColumn).Text
					range(currentRow, currentColumn) = text
				Next
			Next
		Case "Value2"
			range = usedRange.Value2
		Case Else
			range = usedRange.Value

	End Select

	Dim result = new DataTable()
	
	Dim headingsList = GetFirstRowHeadings(range, firstRowIsHeader)

	For Each heading As String In headingsList
		result.Columns.Add(heading, GetType(string))
	Next
		
	Dim startRowIndex = If(firstRowIsHeader AndAlso range.GetLength(0) > 1, 2, 1)	
	Dim totalRows As Integer = usedRange.Rows.Count
	Dim totalCols As Integer = If(fetchDataWithMethod = "Text", 
		usedRange.Columns.Count, range.GetLength(1))

	For i As Integer = startRowIndex To totalRows
		Dim currentRow As DataRow = result.NewRow
		result.Rows.Add(currentRow)

		For j As Integer = 1 To totalCols
			Dim value = range(i, j)
			If value Is Nothing Then value = String.Empty
			currentRow.Item(j - 1) = value.ToString()
		Next j
	Next i

	Return result
End Function

Function GetFirstRowHeadings(arr as Object(,), firstRowIsHeader As Boolean) as List(Of String)
	Dim result = new List(Of String)()
	For i as Integer = 1 to arr.GetLength(1)
		Try
			Dim value = arr(1, i)
			Dim heading As String = If(value Is Nothing OrElse Not firstRowIsHeader, String.Empty, value.ToString)
			result.Add(heading)
		Catch e As Exception
			' ignore index out of bound exception, 
			' typically thrown when .Text is used
		End Try
	Next i
	return result
End Function

Function ParseDelimSeparatedVariables(
 data As String,
 delimStr As String,
 schema As DataTable,
 firstRowIsHeader As Boolean) As DataTable

	Const DefaultState As Integer = 0
	Const Instring As Integer = 1
	Const FirstQuote As Integer = 2

	Const Quote As Char = """"c
	If delimStr.Length = 0 Then delimStr = ","
	If delimStr.Length <> 1 Then Throw New Exception("Delimiter must be a single character")

	Dim delim As Char = delimStr(0)

	Dim state As Integer = DefaultState
	Dim firstRow As Boolean = True
	Dim columnValue As New StringBuilder()

	Dim emptySchema As Boolean = schema Is Nothing OrElse schema.Rows.Count = 0
	If emptySchema Then schema = Nothing
	Dim outputCollection As New DataTable()

	If Not emptySchema Then
		For Each schemaRow As DataRow In schema.Rows
			Dim colName As String = schemaRow(SchemaColumnName).ToString
			outputCollection.Columns.Add(colName, GetType(String))
		Next
	End If

	Dim row As DataRow = Nothing
	Dim colIndex As Integer = 0
	Using sw As New StringReader(data)
		While True
			Dim line As String = sw.ReadLine()
			If line Is Nothing Then Exit While

			' If we're not processing a CRLF in the middle of a string, we want to move
			' onto the next row; if we are, we keep the current row and column since we're
			' still writing to that 'cell'.
			If state <> Instring Then
				row = outputCollection.NewRow
				colIndex = 0
			End If
			For Each ch As Char In line
				Select Case ch
					Case delim ' ie. 'ch' is the specified delimiter - "," or "\t"
						Select Case state
							Case Instring
								columnValue.Append(delim)
							Case Else ' Covers 'default' and 'first quote'.
								If firstRow Then
									HandleFirstRow(
										firstRowIsHeader,
										columnValue.ToString(),
										colIndex,
										row,
										schema
									)
								Else
									row(colIndex) = columnValue.ToString
								End If

								columnValue.Length = 0
								state = DefaultState
								colIndex += 1
						End Select
					Case Quote
						Select Case state
							Case FirstQuote
								state = Instring
								columnValue.Append(Quote)
							Case Instring
								state = FirstQuote
							Case Else
								' If we find a quote in the middle of a non-quoted cell, it's
								' a literal quote; otherwise (ie. at the start of a cell), it
								' means the cell value is wrapped - go into 'Instring' state
								If columnValue.Length > 0 Then
									columnValue.Append(Quote)
								Else
									state = Instring
								End If
						End Select
					Case Else
						columnValue.Append(ch)
				End Select
			Next

			If firstRow Then
				HandleFirstRow(
					firstRowIsHeader,
					columnValue.ToString(),
					colIndex,
					row,
					schema
				)
				firstRow = False
				columnValue.Length = 0
				state = DefaultState
				If Not firstRowIsHeader Then outputCollection.Rows.Add(row)

			Else
				' If we're still in the middle of the string we want to include the CRLF in the
				' actual value that we're writing and leave the state at 'Instring'
				If state = Instring Then
					columnValue.Append(vbCrLf)
				Else
					row.Item(colIndex) = columnValue.ToString
					outputCollection.Rows.Add(row)
					columnValue.Length = 0
					state = DefaultState
				End If
			End If

		End While

	End Using

	Return outputCollection

End Function

Sub HandleFirstRow(firstRowIsHeader As Boolean, val As String, colIndex As Integer, row As DataRow, schema As DataTable)
	Dim tab = row.Table
	If schema Is Nothing Then
		If firstRowIsHeader Then
			Dim colName As String = val
			tab.Columns.Add(colName, GetType(String))
		Else
			Dim colName As String = "Column " & tab.Columns.Count
			tab.Columns.Add(colName, GetType(String))
			row(colIndex) = val
		End If
	Else
		If firstRowIsHeader Then
			Dim schemaColName As String = schema.Rows(colIndex)(SchemaColumnName).ToString
			Dim colName As String = val
			If colName <> schemaColName Then
				Throw New Exception("Column name mismatch. Column '" & colName & "' dosen't match schema name of '" & schemaColName & "'")
			End If
		End If
	End If
End Sub

' The common language runtime (CLR) automatically passes locale ID 1033 to all methods and properties
' in the Excel object model that accept locale-sensitive data. There is no way to change this behavior
' automatically for all calls into the object model. However, you can pass a different locale ID to a
' specific method by using InvokeMember to call the method and by passing the locale ID to the culture
' parameter of the method.
' https://msdn.microsoft.com/en-us/library/bb157877.aspx
' Additionaly we must use the culture that Excel is using and not the local machine.
Private Function InvokeReflection(Instance As Object, Name As String, bindingFlags As Reflection.BindingFlags, ParamArray args() As Object) As Object
	const msoLanguageIDUI = 2 'User interface language.
	
    Dim culture = New System.Globalization.CultureInfo(DirectCast( _
							CurrentInstance.LanguageSettings.LanguageID(msoLanguageIDUI), Integer))
    Return Instance.GetType().InvokeMember(Name, bindingFlags, Nothing, Instance, args, culture)
End Function

Private Function Invoke(Instance As Object, Name As String, ParamArray args() As Object) As Object	
	Return InvokeReflection(Instance, Name, Reflection.BindingFlags.InvokeMethod, args)
End Function

Private Sub SetProperty(Instance As Object, Name As String, ParamArray args As Object())
	InvokeReflection(Instance, Name, Reflection.BindingFlags.SetProperty, args)
End Sub

Private Function GetProperty(Instance As Object, Name As String) As Object
	Return InvokeReflection(Instance, Name, Reflection.BindingFlags.GetProperty)	
End Function

' Gets the clipboard text, ensuring that the retrieval is performed
' on an STA thread so that it retrieves it correctly.
Function GetClipboardText() As String
    Dim data As String = Nothing
    With New Threading.Thread(Sub() data = Clipboard.GetDataObject().GetData(DataFormats.Text, True))
        .SetApartmentState(Threading.ApartmentState.STA)
        .Start()
        .Join()
    End With
    Return data
End Function

' Sets the clipboard text, ensuring that it is done on an STA thread.
Sub SetClipboardText(value as String)
    With New Threading.Thread(Sub() Clipboard.SetText(value))
        .SetApartmentState(Threading.ApartmentState.STA)
        .Start()
        .Join()
    End With
End Sub

]]></code></stage><stage stageid="debd0d09-d7e8-4af4-b718-c69fd2d3db22" name="Clean Up" type="SubSheetInfo"><subsheetid>ab6c7fcd-9997-4c5c-9ff1-2dcb5879975a</subsheetid><narrative>Closes all the instances that have been created / attached to using this business object.</narrative><display x="-180" y="-105" w="180" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="74a37e04-8569-40b9-8cc7-55d419e6c658" name="Start" type="Start"><subsheetid>ab6c7fcd-9997-4c5c-9ff1-2dcb5879975a</subsheetid><loginhibit /><display x="15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>fedc107e-577b-47d9-a445-c3a3e66ef516</onsuccess></stage><stage stageid="d2814bb7-61fc-4b4f-8fd9-2dd9f79c06ba" name="End" type="End"><subsheetid>ab6c7fcd-9997-4c5c-9ff1-2dcb5879975a</subsheetid><loginhibit /><display x="15" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="9864b229-3596-444e-afb1-b46efff51132" name="Create Workbook" type="SubSheetInfo"><subsheetid>73b8ddb4-b679-4697-b3c4-79ce833a9456</subsheetid><narrative>Creates a workbook on the specified instance, returning the resultant name.

Params:
- handle : Number : The handle identifying the instance on which the workbook should be required. The default of zero indicates the current instance.

Returns:
- Workbook Name : Text : The workbook name that Excel has granted to the new workbook. By default, Excel will call it "Book&lt;n&gt;" where &lt;n&gt; is a positive integer.

Exceptions:
- Bad Handle : If the given handle did not correspond to an instance.</narrative><display x="-255" y="-300" w="330" h="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="e4ba7053-63b7-4fa4-b64b-12309c5d3d51" name="Start" type="Start"><subsheetid>73b8ddb4-b679-4697-b3c4-79ce833a9456</subsheetid><loginhibit /><display x="-15" y="-390" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook should be created. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>852ff62f-6d2b-4031-b675-ec155fd88908</onsuccess></stage><stage stageid="1d707fac-863d-4281-b9d0-a65c74bf374c" name="End" type="End"><subsheetid>73b8ddb4-b679-4697-b3c4-79ce833a9456</subsheetid><loginhibit /><display x="-15" y="-120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Workbook Name" narrative="The name of the workbook that Excel has created - this can be changed using the &quot;Save Workbook As&quot; action" stage="workbookname" /></outputs></stage><stage stageid="88aa07c9-ea21-42c6-80da-110e83fc2748" name="new" type="Note"><subsheetid>ab6c7fcd-9997-4c5c-9ff1-2dcb5879975a</subsheetid><narrative>Clean Up Page

This is an optional page where you might choose to perform some finalisation (or "cleanup") tasks as your business object is closed down.

The cleanup action will be called automatically immediately after closing your business object at the end of a business process.

You will not be able to call this action from a business process, nor will it be called at any other time than before the disposal of the business object.</narrative><display x="-180" y="60" w="180" h="230" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="d7cd0bd3-f4fc-4acb-921b-97d3cff31998" name="new" type="Note"><narrative>Initialise Page

This is an optional page where you might choose to perform some initialisation tasks after your business object is loaded.

The initialise action will be called automatically immediately after loading your business object.

You will not be able to call this action from a business process, nor will it be called at any other time than after the creation of the object.</narrative><display x="-195" y="30" w="300" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="4ffe88be-5a6a-452e-a183-9d1b9e027326" name="Open Workbook" type="SubSheetInfo"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><narrative>Opens a workbook using the instance specified in the given handle, opening the book represented by the given filename.

Params :
- handle : Number : The handle to the instance in which the workbook should be opened. The default value of zero indicates the current instance.
- File name : Text : The path to the file which should be opened.

Outputs:
- Workbook Name : Text : The name of the workbook that Excel uses to identify it.

Exceptions:
- Bad Handle : If the given handle did not correspond to an instance.
- File Not Found : If the given file does not exist or is not a file.</narrative><display x="-255" y="-165" w="360" h="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="753ce277-ee09-4ee9-841b-827037917616" name="Start" type="Start"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><loginhibit /><preconditions><condition narrative="" /><condition narrative="" /></preconditions><display x="15" y="-255" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required workbook should be opened. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="File name" narrative="The path and name of the file which should be opened." stage="filename" /></inputs><onsuccess>9e0df7e0-ab34-4a97-9f69-db66c88ff5f4</onsuccess></stage><stage stageid="18a306bf-d323-4c4e-83b5-4b226773161c" name="End" type="End"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Workbook Name" narrative="The name used by Excel to identify the workbook - usually this is the file name (without the path)." stage="workbookname" /></outputs></stage><stage stageid="4d2c2635-39a5-41ce-8c67-49eb1db37d55" name="Save Workbook" type="SubSheetInfo"><subsheetid>6e7cb0ad-5910-4065-aab2-2919726bae39</subsheetid><narrative>Saves the workbook using the current name as a filename.

Params:
- handle : Number : The integer identifying the instance on which the workbook should be saved. The default of 0 indicates the current instance.
- Workbook Name : The name of the workbook to be saved. The default of empty indicates that the active workbook should be saved.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.</narrative><display x="-285" y="-135" w="420" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="7c92f23e-cde4-457b-8a6e-2856cf88955e" name="Start" type="Start"><subsheetid>6e7cb0ad-5910-4065-aab2-2919726bae39</subsheetid><loginhibit /><display x="15" y="-195" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook which should be saved resides. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook which should be saved" stage="workbookname" /></inputs><onsuccess>ab6f627b-d630-4bdd-b840-7aac26b5806f</onsuccess></stage><stage stageid="4c75715c-7a4a-491b-804f-261ee86fcd95" name="End" type="End"><subsheetid>6e7cb0ad-5910-4065-aab2-2919726bae39</subsheetid><loginhibit /><display x="15" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="cee07b01-63cb-4d6d-9cc4-d1868ae80a0a" name="Save Workbook As" type="SubSheetInfo"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><narrative>Save the given workbook using the given file name.

Params :
- handle : Number : The integer identifying the instance on which the workbook resides. Default (0) indicates the current instance
- Workbook Name : Text : The name of the workbook which should be saved. Default ("") indicates the active workbook.
- File name : Text : The path and name of the file to which the workbook should be saved.

Output :
- New Workbook Name : Text : The new name with which the workbook is identified within the excel instance.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.</narrative><display x="-285" y="-180" w="420" h="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="b4f79caf-dea6-4a9a-95f0-0c05bea8b485" name="End" type="End"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><loginhibit /><display x="15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="New Workbook Name" narrative="The new workbook name which Excel will use to identify the workbook within the instance." stage="newworkbookname" /></outputs></stage><stage stageid="8ff7cce5-b764-42f9-88ed-51eb82a178c0" name="Activate Worksheet" type="SubSheetInfo"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><narrative>Activates / Creates the worksheet specified by the given parameters 

Params:
- handle : Number : The instance handle;
- Workbook Name : Text : is the name of the workbook on which the sheet resides / should be created;
- Sheet name : Text : The name of the worksheet
- Create If Missing? : Flag : Indicates if the worksheet should be created if one with that name doesn't exist on the workbook - if missing, it will *not* create it.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.
- Worksheet Not Found : If the given worksheet did not exist on the specified workbook.</narrative><display x="-285" y="-165" w="420" h="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="ddfe7f54-b5c2-410a-8a5d-3c2b52de9550" name="End" type="End"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><loginhibit /><display x="15" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="cf681fff-ce18-4dcc-b190-da9870383e35" name="Delete Worksheet" type="SubSheetInfo"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><narrative>Deletes the specified worksheet from the workbook.

Params:
- handle : Number : The excel instance handle
- Workbook Name : Text : The name of the workbook
- Worksheet Name : Text : The name of the sheet to delete.
If the sheet doesn't exist, this will fail silently - ie. nothing will occur.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.
- Worksheet Not Found : If the named worksheet did not exist on the specified workbook, or if the active sheet was specified and there was no active sheet.</narrative><display x="-240" y="-135" w="360" h="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="c23803d1-15b5-4976-9466-8fb2e49529d3" name="Go To Cell" type="SubSheetInfo"><subsheetid>ed502669-4207-4c88-895d-8c58ec321578</subsheetid><narrative>Activates the cell in the given workbook, identified by the given cell reference.

Params:
- handle : Number: The integer handle identifying the excel instance (0 represents 'active' instance)
- Cell Reference : Text : the cell reference to go to
NOTE - the active sheet in the instance is the one on which the cell is active</narrative><display x="-240" y="-135" w="360" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="717bb32a-6e60-4972-bdcb-10d6c7b769a0" name="Start" type="Start"><subsheetid>ed502669-4207-4c88-895d-8c58ec321578</subsheetid><loginhibit /><display x="15" y="-180" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be navigated to. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Cell Reference" narrative="The cell reference on the currently active sheet within the specified instance which should be navigated to." stage="cellref" /></inputs><onsuccess>dc6f6efd-7724-48b0-8544-8f86f7bb1b8d</onsuccess></stage><stage stageid="f9e7f87b-06e3-441b-a4ed-7cb2a60b38c8" name="End" type="End"><subsheetid>ed502669-4207-4c88-895d-8c58ec321578</subsheetid><loginhibit /><display x="15" y="0" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="f9a7cb58-89e7-4295-be05-54454641b318" name="Set Cell Value" type="SubSheetInfo"><subsheetid>5698ca16-b00d-4d62-9d9b-e76e8295b556</subsheetid><narrative>Sets the specified cell's value to the given value.
This has the side-effect of setting the active cell to that which is specified here.

Exceptions
Office 2013 onwards
There are known issues when attempting to read and write data using the Excel VBO with the application set to run in background mode. These issues can be overcome by using the Show action
</narrative><display x="-225" y="-135" w="330" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="15cc8816-ce32-4cb4-888f-7e42b5cbc653" name="Start" type="Start"><subsheetid>5698ca16-b00d-4d62-9d9b-e76e8295b556</subsheetid><loginhibit /><display x="15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell value should be set. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Cell Reference" narrative="The reference on the speficied sheet identifying the cell which should be set." stage="cellref" /><input type="text" name="Value" narrative="The value to which the specified cell should be set." stage="value" /></inputs><onsuccess>f54da925-167d-4c17-b44c-1861acd36f9b</onsuccess></stage><stage stageid="3efecc12-e41e-4386-b852-2651ab750ecc" name="End" type="End"><subsheetid>5698ca16-b00d-4d62-9d9b-e76e8295b556</subsheetid><loginhibit /><display x="15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="69459b62-2608-4fd7-a65e-40074b837222" name="Get Cell Value" type="SubSheetInfo"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><narrative>Gets the value of the specified cell - note that if the cell has some formatting set in it, this does *not* return the formatted value - See "Get Formatted Cell Value".
Note also that this has the side-effect of making the specified cell active.</narrative><display x="-195" y="-105" w="270" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="232e4bda-508e-44c7-8adb-315ce0fab8af" name="CreateWorkbook" type="Code"><subsheetid>73b8ddb4-b679-4697-b3c4-79ce833a9456</subsheetid><loginhibit /><display x="-15" y="-225" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><outputs><output type="text" name="name" stage="workbookname" /></outputs><onsuccess>1d707fac-863d-4281-b9d0-a65c74bf374c</onsuccess><code><![CDATA[
name = NewWorkbook(handle).Name]]></code></stage><stage stageid="6b5a2269-93b3-4e07-ae32-b53e1a63e772" name="filename" type="Data"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><display x="-255" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="1365c72e-7420-4330-a305-53b0408ec641" name="cellref" type="Data"><subsheetid>5698ca16-b00d-4d62-9d9b-e76e8295b556</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5f4cf65f-1932-4f8c-9902-00080ed74347" name="value" type="Data"><subsheetid>5698ca16-b00d-4d62-9d9b-e76e8295b556</subsheetid><display x="-195" y="60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="50be384a-f88b-477b-9bff-ee76cd5684bc" name="Set Cell Value" type="Code"><subsheetid>5698ca16-b00d-4d62-9d9b-e76e8295b556</subsheetid><loginhibit /><display x="15" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="cellref" expr="[cellref]" /><input type="text" name="value" expr="[value]" /></inputs><onsuccess>3efecc12-e41e-4386-b852-2651ab750ecc</onsuccess><code><![CDATA[GetInstance(handle).ActiveCell.Value = value
Dim activeCell = GetInstance(handle).ActiveCell
SetProperty(activeCell, "Value", value)]]></code></stage><stage stageid="155a039e-a678-4192-866d-0a80004f7b1b" name="cellref" type="Data"><subsheetid>ed502669-4207-4c88-895d-8c58ec321578</subsheetid><display x="-195" y="0" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="edbe4d75-3363-4d77-b489-87fb02980fdc" name="Select Cell" type="Code"><subsheetid>ed502669-4207-4c88-895d-8c58ec321578</subsheetid><loginhibit /><display x="15" y="-60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="cellref" expr="[cellref]" /></inputs><onsuccess>f9e7f87b-06e3-441b-a4ed-7cb2a60b38c8</onsuccess><code><![CDATA[
GetWorkbook(handle, "").ActiveSheet.Range(cellref,cellref).Activate()]]></code></stage><stage stageid="476742dd-c37f-49de-9eb5-1a66e5bcda17" name="handle" type="Data"><subsheetid>ed502669-4207-4c88-895d-8c58ec321578</subsheetid><display x="-195" y="-45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="f54da925-167d-4c17-b44c-1861acd36f9b" name="Go To Cell" type="SubSheet"><subsheetid>5698ca16-b00d-4d62-9d9b-e76e8295b556</subsheetid><loginhibit /><display x="15" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="Cell Reference" expr="[cellref]" /></inputs><onsuccess>50be384a-f88b-477b-9bff-ee76cd5684bc</onsuccess><processid>ed502669-4207-4c88-895d-8c58ec321578</processid></stage><stage stageid="e7dc5be6-9447-4f5a-b528-e3b4e6e92319" name="handle" type="Data"><subsheetid>5698ca16-b00d-4d62-9d9b-e76e8295b556</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="0b718057-0ae5-4c65-bb5a-d9a14ac2496a" name="handle" type="Data"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><display x="-255" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="3fe639e8-b4a0-4f50-886f-fb9c99ed04b2" name="Activate Workbook" type="SubSheetInfo"><subsheetid>6632ed99-8751-4c2a-ad00-3cc016300e08</subsheetid><narrative>Activates the excel workbook identified by the given handle and name.

Params:
- handle : Number : The identifier of the instance which is holding the workbook; 0 (default) indicates the active instance
- Name : Text : The name of the workbook which should be activated

Exceptions:
- Invalid Input Parameter : If the worksheet name parameter is given
- Bad Handle : If the handle does not correspond to an Excel instance</narrative><display x="-240" y="-165" w="360" h="180" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="8084bde3-efbe-44ec-a484-c9b07c3d0b78" name="Start" type="Start"><subsheetid>6632ed99-8751-4c2a-ad00-3cc016300e08</subsheetid><loginhibit /><display x="45" y="-240" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook should be activated. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The workbook name identifying the workbook which should be activated - empty text indicates the currently active workbook, making this a no-op." stage="workbookname" /></inputs><onsuccess>6344b53e-9777-411e-bab1-aee5633bbc7d</onsuccess></stage><stage stageid="f8b84adb-3239-4125-af8d-4b1d02c950a6" name="End" type="End"><subsheetid>6632ed99-8751-4c2a-ad00-3cc016300e08</subsheetid><loginhibit /><display x="45" y="0" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="05b66883-e53e-43f9-a4d8-baa1fb79f412" name="handle" type="Data"><subsheetid>6632ed99-8751-4c2a-ad00-3cc016300e08</subsheetid><display x="-240" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="dc6f6efd-7724-48b0-8544-8f86f7bb1b8d" name="Activate Workbook" type="SubSheet"><subsheetid>ed502669-4207-4c88-895d-8c58ec321578</subsheetid><loginhibit /><display x="15" y="-120" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook should be activated. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Workbook Name" narrative="The workbook name identifying the workbook which should be activated - empty text indicates the currently active workbook, making this a no-op." expr="&quot;&quot;" /></inputs><onsuccess>edbe4d75-3363-4d77-b489-87fb02980fdc</onsuccess><processid>6632ed99-8751-4c2a-ad00-3cc016300e08</processid></stage><stage stageid="1c1bd122-21c0-4b17-92f4-e5459d7921c6" name="handle" type="Data"><subsheetid>73b8ddb4-b679-4697-b3c4-79ce833a9456</subsheetid><display x="-240" y="-165" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="5b35f9f6-e395-4e4b-8dc1-5b2e86b17fbe" name="Close Workbook" type="SubSheetInfo"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><narrative>Closes the specified workbook, saving changes if requested.

Params:
- handle : Number : The integer identifying the instance on which the workbook should be closed. 0 indicates the current instance.
- Workbook Name : Text : The name of the workbook which should be closed. "" indicates the active workbook on the specified instance.
- Save Changes : Flag : True to save the changes (the equivalent of calling 'Save Workbook' before closing the workbook); False to discard any changes when closing the workbook.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.</narrative><display x="-540" y="-30" w="450" h="180" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="5f23862f-bb67-4712-ade2-d8d62befeb7b" name="End" type="End"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><display x="-255" y="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="f308d1c5-88b0-455a-bff7-8163c95d1eab" name="Open Workbook" type="Code"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><loginhibit /><display x="15" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="filename" expr="[filename]" /><input type="number" name="handle" expr="[handle]" /><input type="number" name="timeout" expr="[Timeout]" /></inputs><outputs><output type="text" name="name" stage="workbookname" /></outputs><onsuccess>6c2fa22d-1876-46b7-92eb-cf8343d0911f</onsuccess><code><![CDATA[name = ExecWithTimeout(Timeout, "Open Workbook",
Function()
    Dim instance = GetInstance(handle)
    Dim workbooks As object = GetProperty(instance, "Workbooks")
    Dim wb As Object = Invoke(workbooks, "Open", filename)
    Invoke(wb, "Activate")
    Return wb.Name
End Function)]]></code></stage><stage stageid="5d910335-0e44-4e14-8093-292d0737faee" name="handle" type="Data"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><display x="-210" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="7edfc788-b0ea-4933-ac22-6345453b8c6c" name="filename" type="Data"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><display x="-210" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="54e39cf8-9167-44e0-aea5-08d102a67f52" name="Create Instance" type="SubSheetInfo"><subsheetid>99e648cc-a136-471c-8424-19071c0fd9e7</subsheetid><narrative>Creates an instance of Excel, returning a handle with which it can be retrieved using the global object method : GetInstance(handle).</narrative><display x="-255" y="-120" w="330" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="2eee0d2a-9595-449a-bbdc-8fb0c5153180" name="Close Instance" type="SubSheetInfo"><subsheetid>6ec3006a-6553-4526-b522-32526c4aa3cc</subsheetid><narrative>Closes the instance represented by the given handle, saving the changes or not as specified.

Params:
- handle : Number : The handle identifying the instance that should be closed; The default of 0 will close the 'current active' instance - ie. the last one accessed. Note that following the 'current active' instance being closed, the current instance will not be set.
- Save Changes : Flag : True to save the instance's workbooks before closing; False to just close the instance.

Exceptions:
- Bad Handle : If the given handle did not correspond to an instance.
</narrative><display x="-255" y="-150" w="390" h="180" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="b394cfde-b1ec-4f16-b977-d1e1ffd337be" name="Start" type="Start"><subsheetid>6ec3006a-6553-4526-b522-32526c4aa3cc</subsheetid><loginhibit /><display x="15" y="-225" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance to be closed. Zero indicates the currently active instance." stage="handle" /><input type="flag" name="Save Changes" narrative="True to save the changes to the open workbooks on the instance, False to discard any changes. Default is False." stage="savechanges" /></inputs><onsuccess>b06ec4ea-540a-4321-a1f9-a645f288eb9e</onsuccess></stage><stage stageid="5d9b206b-bf58-47fe-806b-c2d6807d911e" name="End" type="End"><subsheetid>6ec3006a-6553-4526-b522-32526c4aa3cc</subsheetid><loginhibit /><display x="15" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="9798ad3a-b44f-4102-a9d1-0861103be2d8" name="Open Instance" type="SubSheetInfo"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><narrative>Opens a currently running instance of Excel with the given workbook name.

If no workbook name is given, it opens the active instance of Excel. If there is no instance of Excel currently running, it will create a new one.

Params:
- WorkbookName : Text : should correspond to the workbook which should be opened - an empty value will cause the first activated instance of Excel to be opened.

Returns:
- handle : Number : The numeric handle with which this instance can be identified</narrative><display x="-210" y="-195" w="270" h="180" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="0d071afd-6ab3-43d1-ac0e-1951c7598b19" name="Start" type="Start"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="15" y="-270" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="Workbook Name" narrative="The name of the workbook which should be opened. An empty value indicates that the first activated instance of Excel should be opened." stage="workbookname" /><input type="flag" name="Enable Events?" narrative="Flag to indicate whether events (ie. macros) should be enabled on the given instance. Default is True" stage="Enable Events" /></inputs><onsuccess>a08aa147-8eee-4f21-a683-142cb1680af6</onsuccess></stage><stage stageid="754832af-1144-48ff-8ab0-bb6c86d3f78e" name="End" type="End"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="15" y="165" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="number" name="handle" narrative="The integer handle with which the instance can be identified in later actions." stage="handle" /></outputs></stage><stage stageid="6a0587c3-1640-4af9-9199-62382cc11cdb" name="Start" type="Start"><subsheetid>99e648cc-a136-471c-8424-19071c0fd9e7</subsheetid><loginhibit /><display x="-15" y="-165" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="flag" name="Enable Events" narrative="Flag to indicate that events should be enabled / disabled on the attached instance - defaulted to True" stage="Enable Events" /></inputs><onsuccess>c642c278-2fc8-4504-826c-25e0281a26af</onsuccess></stage><stage stageid="d337a2cf-1121-4619-a1b1-f7f19bea974e" name="End" type="End"><subsheetid>99e648cc-a136-471c-8424-19071c0fd9e7</subsheetid><loginhibit /><display x="-15" y="0" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="number" name="handle" narrative="An integer which can be used to identify the created instance in subsequent actions" stage="handle" /></outputs></stage><stage stageid="c642c278-2fc8-4504-826c-25e0281a26af" name="Create Instance" type="Code"><subsheetid>99e648cc-a136-471c-8424-19071c0fd9e7</subsheetid><loginhibit /><display x="-15" y="-105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="number" name="handle" stage="handle" /></outputs><onsuccess>a13edde2-3883-4007-9719-92f0e1009ddd</onsuccess><code><![CDATA[
Dim excel as Object = CreateObject("Excel.Application")

' Create a GUID with which we can kill the instance later
' if we have to play hardball to get rid of it.
excel.Caption = System.Guid.NewGuid().ToString().ToUpper()

handle = GetHandle(excel)]]></code></stage><stage stageid="56408aa5-2607-4026-bbb0-ee39b8c304be" name="handle" type="Data"><subsheetid>99e648cc-a136-471c-8424-19071c0fd9e7</subsheetid><display x="-255" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="bb0ff5ea-0f21-4e70-a3b3-2eaf0baa3dc5" name="Set Current Instance" type="SubSheetInfo"><subsheetid>859e3c31-acbc-48dd-8535-ef2ce9385d70</subsheetid><narrative>Sets the "current active" instance to that specified.

Params:
- handle : Number : The handle of the instance that should be set as the current instance. The default of zero only has the effect of throwing an exception if no current instance is set, otherwise it's a no-op.

Exceptions:
- Bad Handle : If the given handle did not correspond to an instance.
</narrative><display x="-225" y="-135" w="330" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="773582ee-ed72-4483-9b24-9e4f66cf590e" name="Start" type="Start"><subsheetid>859e3c31-acbc-48dd-8535-ef2ce9385d70</subsheetid><loginhibit /><preconditions><condition narrative="" /></preconditions><display x="15" y="-195" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance which should be made the 'current' one. The default of zero indicates the current, er, 'current' one - ie. this action has no effect other than validating that there is a current instance." stage="handle" /></inputs><onsuccess>79986761-82ee-46d2-83d5-4e3375b886be</onsuccess></stage><stage stageid="b272722b-ab35-4a09-9082-3cc31a0999b5" name="End" type="End"><subsheetid>859e3c31-acbc-48dd-8535-ef2ce9385d70</subsheetid><loginhibit /><display x="15" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="d7897c32-9be3-483a-bca8-3fee7d1af8b5" name="handle" type="Data"><subsheetid>859e3c31-acbc-48dd-8535-ef2ce9385d70</subsheetid><display x="-195" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="e3866da9-69bc-4edc-9173-0f9d0013190a" name="handle" type="Data"><subsheetid>6ec3006a-6553-4526-b522-32526c4aa3cc</subsheetid><display x="-210" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="7e31a12c-4578-4202-b034-a306f3ee679d" name="Close Instance" type="Code"><subsheetid>6ec3006a-6553-4526-b522-32526c4aa3cc</subsheetid><loginhibit /><display x="15" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="flag" name="savechanges" expr="[savechanges]" /><input type="number" name="timeout" expr="[Timeout]" /></inputs><onsuccess>5d9b206b-bf58-47fe-806b-c2d6807d911e</onsuccess><code><![CDATA[ExecWithTimeout(Timeout,"Close Instance",
Sub() CloseInstance(handle, savechanges))]]></code></stage><stage stageid="eaefcb8d-64bd-4782-a39c-6ea00bb157b2" name="CheckInstanceHandle" type="SubSheetInfo"><subsheetid>492548e8-2fa5-473e-9061-df8326d46e4c</subsheetid><narrative>Checks if the handle given can be used to access a valid instance.

This means that the handle is a non-zero value which represents a handle, or it is zero and a 'current instance' is set (current instance is set every time an instance is created or accessed using GetInstance() - it may be set to Nothing if an instance is closed).

- handle is the handle to check that it represents a valid instance

Exceptions:
- Bad Handle : If the given handle doesn't represent an instance</narrative><display x="-300" y="-120" w="390" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="19668af6-5fa9-48b7-9f6e-e2caf5795b69" name="Start" type="Start"><subsheetid>492548e8-2fa5-473e-9061-df8326d46e4c</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle representing the instance." stage="handle" /></inputs><onsuccess>34b692da-278c-4018-96ec-a9d03f696b43</onsuccess></stage><stage stageid="a4c8054c-d063-42e0-8063-c8972459baa3" name="End" type="End"><subsheetid>492548e8-2fa5-473e-9061-df8326d46e4c</subsheetid><loginhibit /><display x="-30" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="b06ec4ea-540a-4321-a1f9-a645f288eb9e" name="CheckInstanceHandle" type="SubSheet"><subsheetid>6ec3006a-6553-4526-b522-32526c4aa3cc</subsheetid><loginhibit /><display x="15" y="-150" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>7e31a12c-4578-4202-b034-a306f3ee679d</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="34b692da-278c-4018-96ec-a9d03f696b43" name="Check Handle" type="Code"><subsheetid>492548e8-2fa5-473e-9061-df8326d46e4c</subsheetid><loginhibit /><display x="-30" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><outputs><output type="flag" name="HandleMissing" stage="HandleMissing" /></outputs><onsuccess>a7383095-97e9-4fa8-90e0-ad186e9df285</onsuccess><code><![CDATA[
' Just ensure that the handle references a valid instance
HandleMissing = (GetInstance(handle) is Nothing)]]></code></stage><stage stageid="1468c19b-a6a0-44e0-b096-5f325448f3fb" name="handle" type="Data"><subsheetid>492548e8-2fa5-473e-9061-df8326d46e4c</subsheetid><display x="-195" y="-15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="52d17605-ad90-4a36-aa9d-47e5418dba04" name="HandleMissing" type="Data"><subsheetid>492548e8-2fa5-473e-9061-df8326d46e4c</subsheetid><display x="-195" y="30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a7383095-97e9-4fa8-90e0-ad186e9df285" name="Is Handle Missing?" type="Decision"><subsheetid>492548e8-2fa5-473e-9061-df8326d46e4c</subsheetid><loginhibit /><display x="-30" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[HandleMissing]" /><ontrue>8b5e76e6-a81e-4377-b161-1bef1ff3d753</ontrue><onfalse>a4c8054c-d063-42e0-8063-c8972459baa3</onfalse></stage><stage stageid="8b5e76e6-a81e-4377-b161-1bef1ff3d753" name="Bad Instance Handle" type="Exception"><subsheetid>492548e8-2fa5-473e-9061-df8326d46e4c</subsheetid><display x="135" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="Bad Handle" detail="&quot;Handle: &quot; &amp; [handle] &amp; &quot; does not correspond to an Excel Instance&quot;" /></stage><stage stageid="79986761-82ee-46d2-83d5-4e3375b886be" name="CheckInstanceHandle" type="SubSheet"><subsheetid>859e3c31-acbc-48dd-8535-ef2ce9385d70</subsheetid><loginhibit /><display x="15" y="-120" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>b272722b-ab35-4a09-9082-3cc31a0999b5</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="2db56ca3-8def-419f-a3e3-ac8408915c69" name="Open Named Instance" type="Code"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="15" y="-135" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="WorkbookName" expr="[workbookname]" /><input type="number" name="timeout" expr="[Timeout]" /></inputs><outputs><output type="number" name="handle" stage="handle" /></outputs><onsuccess>add1def4-fc64-4534-bbb0-d3ac07611a85</onsuccess><code><![CDATA[Dim obj = ExecWithTimeout(Timeout, "Open Named Instance",
Function() OpenNamedObjectAA(WorkbookName))
handle = GetHandle(obj)]]></code></stage><stage stageid="6e2accad-a08b-4b28-9551-f44a9a291607" name="handle" type="Data"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><display x="-210" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="fe8e6a89-2552-4e75-9d44-72240a365783" name="workbookname" type="Data"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><display x="-210" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a08aa147-8eee-4f21-a683-142cb1680af6" name="Is WorkbookName empty?" type="Decision"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="15" y="-210" w="150" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="Trim([workbookname])=&quot;&quot;" /><ontrue>aaa7ff33-69b5-4636-8766-e0556ee48bec</ontrue><onfalse>2db56ca3-8def-419f-a3e3-ac8408915c69</onfalse></stage><stage stageid="aaa7ff33-69b5-4636-8766-e0556ee48bec" name="Open Arbitrary Instance" type="Code"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="195" y="-210" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Timeout" expr="[Timeout]" /></inputs><outputs><output type="number" name="handle" stage="handle" /></outputs><onsuccess>51d7d624-e8bf-42b7-afdd-8d090b584865</onsuccess><code><![CDATA[Dim obj As Object = Nothing
Try
    obj = ExecWithTimeout(timeout,"Get Object",
        Function() GetObject(,"Excel.Application"))
Catch ex As TimeoutException
    mLastException = ex
    Throw
End Try
If obj Is Nothing Then Throw New Exception("Could not Get Object")

' GetObject may return an unusable wrapper (possibly if instance is shutting
' down) which results in a "COM target does not implement IDispatch" exception
' when accessing members of the object. If reading the EnableEvents property 
' results in an exception, the recover stage will run and a new instance will 
' be created instead.
Dim tempEnableEvents = obj.EnableEvents

handle = GetHandle(obj)]]></code></stage><stage stageid="fba0fa7c-4ed5-4652-b4ae-08770f5f3867" name="No Open Instances" type="Recover"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="375" y="-210" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>9474db50-6935-47fa-b862-4aa1a49143f8</onsuccess></stage><stage stageid="df0b2b99-8c10-4cf4-9d2d-c3ccf515c960" name="Carry On, Bertram" type="Resume"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="375" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>7fb1ba2f-64f1-417b-9b97-479efb954a9d</onsuccess></stage><stage stageid="a6205e66-5e1f-4360-86a2-8f1325751c3c" name="Create Instance" type="SubSheet"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="375" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="flag" name="Enable Events" narrative="Flag to indicate that events should be enabled / disabled on the attached instance - defaulted to True" expr="True" /></inputs><outputs><output type="number" name="handle" narrative="An integer which can be used to identify the created instance in subsequent actions" stage="handle" /></outputs><onsuccess>df0b2b99-8c10-4cf4-9d2d-c3ccf515c960</onsuccess><processid>99e648cc-a136-471c-8424-19071c0fd9e7</processid></stage><stage stageid="852ff62f-6d2b-4031-b675-ec155fd88908" name="CheckInstanceHandle" type="SubSheet"><subsheetid>73b8ddb4-b679-4697-b3c4-79ce833a9456</subsheetid><loginhibit /><display x="-15" y="-300" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>232e4bda-508e-44c7-8adb-315ce0fab8af</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="59ebf811-1faf-4486-8630-6d2de19027f5" name="CheckType" type="Decision"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="375" y="-75" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="ExceptionType()=&quot;Internal&quot;" /><ontrue>a6205e66-5e1f-4360-86a2-8f1325751c3c</ontrue><onfalse>567674ba-270a-4107-ada5-1dae59125522</onfalse></stage><stage stageid="567674ba-270a-4107-ada5-1dae59125522" name="RethrowException" type="Exception"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><display x="570" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception localized="yes" type="" detail="" usecurrent="yes" /></stage><stage stageid="9e0df7e0-ab34-4a97-9f69-db66c88ff5f4" name="CheckInstanceHandle" type="SubSheet"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><loginhibit /><display x="15" y="-195" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>41c51e08-6c3e-4cbc-bc30-31936476aa7d</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="4a034863-88fc-4111-a656-18471e002741" name="workbookname" type="Data"><subsheetid>6632ed99-8751-4c2a-ad00-3cc016300e08</subsheetid><loginhibit /><narrative>The name of the workbook</narrative><display x="-240" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="366f8bd4-fafd-47cc-98a3-0afb7d697fe9" name="ActivateWorkbook" type="Code"><subsheetid>6632ed99-8751-4c2a-ad00-3cc016300e08</subsheetid><loginhibit /><display x="45" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="name" expr="[workbookname]" /></inputs><onsuccess>f8b84adb-3239-4125-af8d-4b1d02c950a6</onsuccess><code><![CDATA[
GetWorkbook(handle,name).Activate()]]></code></stage><stage stageid="e74de56c-16cf-4cd7-8ecf-fabdf05e7311" name="handle" type="Data"><subsheetid>6e7cb0ad-5910-4065-aab2-2919726bae39</subsheetid><display x="-195" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="e45f2d66-35c1-40fd-a729-754cfabbb5ab" name="SaveWorkbook" type="Code"><subsheetid>6e7cb0ad-5910-4065-aab2-2919726bae39</subsheetid><loginhibit /><display x="15" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="number" name="timeout" expr="[Timeout]" /></inputs><onsuccess>4c75715c-7a4a-491b-804f-261ee86fcd95</onsuccess><code><![CDATA[ExecWithTimeout(Timeout, "Save Workbook",
Sub()
    Dim wb as Object = GetWorkbook(handle,workbookname)
    Dim excel as Object = wb.Application
    excel.DisplayAlerts = False
    Invoke(wb, "Save")
    excel.DisplayAlerts = True
End Sub)]]></code></stage><stage stageid="8ba3f3c5-2585-44db-9393-a681e9ff1111" name="workbookname" type="Data"><subsheetid>6e7cb0ad-5910-4065-aab2-2919726bae39</subsheetid><display x="-195" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6bc9d285-c937-4336-89b3-aa7acf379075" name="Start" type="Start"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><loginhibit /><display x="15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook which should be saved resides. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook which should be saved" stage="workbookname" /><input type="text" name="Filename" narrative="The full path and filename to which the workbook should be saved." stage="filename" /></inputs><onsuccess>7fa4c0ab-6c38-4a55-915a-48e7ce529979</onsuccess></stage><stage stageid="a6943793-fb0e-491c-bdc1-ccf04ee31e6d" name="workbookname" type="Data"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><display x="-255" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8b526d9f-c7bd-4190-8c33-a6f5ad7982fa" name="SaveWorkbookAs" type="Code"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><loginhibit /><display x="15" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="filename" expr="[filename]" /><input type="number" name="Timeout" expr="[Timeout]" /></inputs><outputs><output type="text" name="newworkbookname" stage="newworkbookname" /></outputs><onsuccess>b4f79caf-dea6-4a9a-95f0-0c05bea8b485</onsuccess><code><![CDATA[newworkbookname = ExecWithTimeout(Timeout, "Save Workbook As",
Function()
    Dim wb as Object  = GetWorkbook(handle,workbookname)
    Dim excel as Object = wb.Application

    excel.DisplayAlerts = False
    wb.SaveAs(filename)
    excel.DisplayAlerts = True

    Return wb.Name
End Function)]]></code></stage><stage stageid="a7fd5308-fe75-448e-99ad-e104521ee580" name="CheckInstanceAndWorkbook" type="SubSheetInfo"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><narrative>Checks the instance and workbook values, throwing an exception if they are invalid.

Params:
- instance : Number : The integer value representing an Excel instance. The default value of zero represents the last activated instance.
- Workbook Name : Text : The name of the workbook on the instance to check. An empty string represents the 'active' workbook.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.</narrative><display x="-240" y="-150" w="360" h="180" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="d69e69ce-7251-40e1-b779-c9951ee36cbb" name="Start" type="Start"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><loginhibit /><preconditions><condition narrative="" /></preconditions><display x="15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer representing an Excel instance" stage="handle" /><input type="text" name="workbookname" narrative="The name of the workbook to check - &quot;&quot; to indicate the active workbook" stage="workbookname" /></inputs><onsuccess>16e7e153-e022-4c0b-9af2-ac69b52f855a</onsuccess></stage><stage stageid="bf3ac1a2-7f2a-4071-89c6-73cfa8f8c60d" name="End" type="End"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><loginhibit /><display x="15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="16e7e153-e022-4c0b-9af2-ac69b52f855a" name="CheckInstanceHandle" type="SubSheet"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><loginhibit /><display x="15" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>d4997ba5-8e1f-4585-a093-376eb725f14d</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="b6c9fba5-0c8e-4e66-9cf2-8f2f1e5f6118" name="Workbook Found?" type="Decision"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><loginhibit /><display x="15" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[workbookfound]" /><ontrue>bf3ac1a2-7f2a-4071-89c6-73cfa8f8c60d</ontrue><onfalse>62e3710c-2e7e-4507-a49b-0009b3585ba3</onfalse></stage><stage stageid="62e3710c-2e7e-4507-a49b-0009b3585ba3" name="Workbook Not Found" type="Exception"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><narrative>Thrown when a workbook name was not found</narrative><display x="195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="Workbook Not Found" detail="&quot;Workbook named: &quot; &amp; [workbookname] &amp; &quot; not found in instance: &quot; &amp; [handle]" /></stage><stage stageid="c3051222-78b2-48d6-9813-d71f854c5e81" name="handle" type="Data"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><display x="-195" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="6bcb687a-3390-4a83-8690-fba44345b1a8" name="workbookname" type="Data"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><loginhibit /><narrative>The name of the workbook</narrative><display x="-195" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ba694738-8f03-4a1c-a7b1-d946dc55c028" name="workbookfound" type="Data"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><loginhibit /><display x="-195" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="d4997ba5-8e1f-4585-a093-376eb725f14d" name="CheckWorkbook" type="Code"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><loginhibit /><display x="15" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="number" name="timeout" expr="[Timeout]" /></inputs><outputs><output type="flag" name="workbookfound" stage="workbookfound" /></outputs><onsuccess>b6c9fba5-0c8e-4e66-9cf2-8f2f1e5f6118</onsuccess><code><![CDATA[
Try
	ExecWithTimeout(timeout,"Get Workbook",
        Sub() GetWorkbook(handle,workbookname))	
	workbookfound = True
Catch ex as Exception
	If ex.Message.IndexOf("DISP_E_BADINDEX")<>-1 Then
		workbookfound = False
	Else
		Throw ex
	End If
End Try]]></code></stage><stage stageid="ab6f627b-d630-4bdd-b840-7aac26b5806f" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>6e7cb0ad-5910-4065-aab2-2919726bae39</subsheetid><loginhibit /><display x="15" y="-120" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>e45f2d66-35c1-40fd-a729-754cfabbb5ab</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="7fa4c0ab-6c38-4a55-915a-48e7ce529979" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><loginhibit /><display x="15" y="-75" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>8b526d9f-c7bd-4190-8c33-a6f5ad7982fa</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="d52e7a12-1a97-4bcf-9014-5a4ad93aa054" name="Close Workbook" type="Code"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><display x="-255" y="150" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="name" expr="[workbookname]" /><input type="number" name="timeout" expr="[Timeout]" /></inputs><onsuccess>5f23862f-bb67-4712-ade2-d8d62befeb7b</onsuccess><code><![CDATA[ExecWithTimeout(Timeout, "Close Workbook",
Sub()
    Dim wb as Object = GetWorkbook(handle,name)
    Dim app as Object = wb.Application

    app.DisplayAlerts = False
    wb.Close(False)
    app.DisplayAlerts = True
End Sub)]]></code></stage><stage stageid="3a83f920-ccd5-4dc3-95ee-4c5a195c5191" name="handle" type="Data"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><display x="-465" y="120" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="7b233620-de4e-40ff-9a99-af09b1574d08" name="workbookname" type="Data"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><display x="-465" y="165" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="85080efc-4429-45d0-9248-dfcceaa60a27" name="Start" type="Start"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><preconditions><condition narrative="" /></preconditions><display x="-255" y="0" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook which should be closed resides. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook which should be closed." stage="workbookname" /><input type="flag" name="Save Data" narrative="True to save the data before closing the workbook; The default of False will discard any changes before closing the workbook." stage="savedata" /></inputs><onsuccess>52c31124-7463-40b9-8d24-9ffebe12e167</onsuccess></stage><stage stageid="b481dbd1-022d-42b5-a2bc-5bfbbc233772" name="savedata" type="Data"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><display x="-465" y="210" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="52c31124-7463-40b9-8d24-9ffebe12e167" name="Save Data?" type="Decision"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><display x="-255" y="45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[savedata]" /><ontrue>16f6c60c-721b-44be-9e97-b5b518e0f360</ontrue><onfalse>68e0d10e-5b8a-4ccb-a42b-67192ce2ede1</onfalse></stage><stage stageid="16f6c60c-721b-44be-9e97-b5b518e0f360" name="Save Workbook" type="SubSheet"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><display x="-120" y="45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="Workbook Name" expr="[workbookname]" /></inputs><onsuccess>cf877504-31ed-4e77-b72f-b00469c37fc7</onsuccess><processid>6e7cb0ad-5910-4065-aab2-2919726bae39</processid></stage><stage stageid="68e0d10e-5b8a-4ccb-a42b-67192ce2ede1" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><display x="-255" y="90" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>d52e7a12-1a97-4bcf-9014-5a4ad93aa054</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="cf877504-31ed-4e77-b72f-b00469c37fc7" name="anchor1" type="Anchor"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><display x="-120" y="150" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>d52e7a12-1a97-4bcf-9014-5a4ad93aa054</onsuccess></stage><stage stageid="cdb03710-27a7-4412-964a-73e4b9bd1a07" name="noteybenny" type="Note"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><narrative>Note: CheckInstanceAndWorkbook is done as part of SaveWorkbook, so no need to do it again</narrative><display x="15" y="60" w="180" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="f39e78b7-d81a-43de-af4f-ea3ce7a918a2" name="handle" type="Data"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><display x="-300" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="1f02e77b-3ca1-40a7-a64b-35fdad519172" name="workbookname" type="Data"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><display x="-300" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6344b53e-9777-411e-bab1-aee5633bbc7d" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>6632ed99-8751-4c2a-ad00-3cc016300e08</subsheetid><loginhibit /><display x="45" y="-165" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>366f8bd4-fafd-47cc-98a3-0afb7d697fe9</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="ba48be23-80aa-4b44-beef-dbc6a7fb5901" name="VerifyFileExists" type="SubSheetInfo"><subsheetid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</subsheetid><narrative>Checks if the given file exists.

Params:
- File name : Text : Path to the file to check

Exceptions:
- File Not Found : If the given file does not exist or is not a file.</narrative><display x="-210" y="-120" w="240" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="0c6df86d-8ca7-4778-adeb-2c570998768f" name="Start" type="Start"><subsheetid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</subsheetid><loginhibit /><display x="-15" y="-165" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="filename" narrative="The filename to check to ensure it exists." stage="filename" /></inputs><onsuccess>e28c5aa8-d587-4390-843e-b97c32c2cdb8</onsuccess></stage><stage stageid="d465101e-fa27-4434-8413-515e331d1389" name="End" type="End"><subsheetid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</subsheetid><loginhibit /><display x="-15" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="8d315224-d32b-4a85-aae0-3ee4d3b98c9c" name="filename" type="Data"><subsheetid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</subsheetid><display x="-195" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="86877e71-923f-4480-9b41-a5a7f4dc60a5" name="fileexists" type="Data"><subsheetid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</subsheetid><loginhibit /><display x="-195" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>False</initialvalue><private /><alwaysinit /></stage><stage stageid="e28c5aa8-d587-4390-843e-b97c32c2cdb8" name="File Exists?" type="Code"><subsheetid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</subsheetid><loginhibit /><display x="-15" y="-105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="filename" expr="[filename]" /></inputs><outputs><output type="flag" name="fileexists" stage="fileexists" /></outputs><onsuccess>d43bfe27-76d7-4542-b7ad-ba696468713e</onsuccess><code><![CDATA[
fileexists = File.Exists(filename)]]></code></stage><stage stageid="d43bfe27-76d7-4542-b7ad-ba696468713e" name="Does File Exist?" type="Decision"><subsheetid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</subsheetid><loginhibit /><display x="-15" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[fileexists]" /><ontrue>d465101e-fa27-4434-8413-515e331d1389</ontrue><onfalse>11a4a0e7-8810-493b-9409-df70ca4dc5b2</onfalse></stage><stage stageid="11a4a0e7-8810-493b-9409-df70ca4dc5b2" name="File Not Found" type="Exception"><subsheetid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</subsheetid><display x="135" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="File Not Found" detail="&quot;File: &quot; &amp; [filename] &amp; &quot; does not exist or is not a file&quot;" /></stage><stage stageid="41c51e08-6c3e-4cbc-bc30-31936476aa7d" name="VerifyFileExists" type="SubSheet"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><loginhibit /><display x="15" y="-135" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="filename" expr="[filename]" /></inputs><onsuccess>f308d1c5-88b0-455a-bff7-8163c95d1eab</onsuccess><processid>41a07606-d51b-4fe3-a076-7a77a4ca2cde</processid></stage><stage stageid="60533ca6-ea95-4425-b684-87e7517782aa" name="Start" type="Start"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><loginhibit /><display x="15" y="-225" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the worksheet which should be activated resides. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook in which the sheet exists - The default empty value indicates the currently active workbook on the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the sheet which should be activated. The default empty text value indicates that the currently active sheet should be, er, activated, making this a no-op." stage="worksheetname" /><input type="flag" name="Create If Missing?" narrative="True to create the sheet if it isn't present on the specified workbook; False to not do so." stage="createifmissing" /></inputs><onsuccess>b5d5c5b0-1e3b-438b-b988-6058174ec5ba</onsuccess></stage><stage stageid="63d363e1-c78b-4332-815c-06f9d6f7a7df" name="OpenWorksheet" type="Code"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><loginhibit /><display x="15" y="-105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="worksheetname" expr="[worksheetname]" /><input type="flag" name="createifmissing" expr="[createifmissing]" /></inputs><outputs><output type="flag" name="sheetexists" stage="sheetexists" /></outputs><onsuccess>3a854b87-0e5a-46dd-8181-a58f97555aa8</onsuccess><code><![CDATA[
Dim ws as Object = GetWorksheet(handle,workbookname,worksheetname,createifmissing)
sheetexists = ws IsNot Nothing 
If sheetexists then ws.Activate()]]></code></stage><stage stageid="b5d5c5b0-1e3b-438b-b988-6058174ec5ba" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><loginhibit /><display x="15" y="-165" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>63d363e1-c78b-4332-815c-06f9d6f7a7df</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="1dccafb3-fd07-4362-b343-e87c1a67e83e" name="worksheetname" type="Data"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><display x="-180" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6b35d569-0eb2-4c01-bb88-e5f7c41bde81" name="End" type="End"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="fab4ac4b-d2f7-4f1c-a0c3-d6dd0cd01f9b" name="handle" type="Data"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><display x="-195" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="60f1e726-ab7f-437a-8bda-36148238d510" name="workbookname" type="Data"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><display x="-195" y="45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="13ac609e-b9ca-4a72-907c-d7656496f5ab" name="Start" type="Start"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><loginhibit /><display x="15" y="-195" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the worksheet which should be deleted resides. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook which contains the sheet to be deleted. The default empty value indicates the currently active workbook on the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet to be deleted. The default empty value indicates the currently active worksheet." stage="worksheetname" /></inputs><onsuccess>5346c305-4024-4d1d-8806-c1b20f16c10d</onsuccess></stage><stage stageid="982dd82e-af43-49cb-a4b1-58da1ccfeb33" name="Delete Worksheet" type="Code"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><loginhibit /><display x="15" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="worksheetname" expr="[worksheetname]" /></inputs><outputs><output type="flag" name="sheetexisted" stage="sheetexisted" /></outputs><onsuccess>56c2259b-9d71-4364-bede-79b4af1e3e96</onsuccess><code><![CDATA[
Dim Inst As Object = GetInstance(handle)
Inst.DisplayAlerts = False

Dim ws as Object = GetWorksheet(handle,workbookname,worksheetname,False)
sheetexisted = ws IsNot Nothing
If sheetexisted Then ws.Delete()

Inst.DisplayAlerts = True]]></code></stage><stage stageid="5346c305-4024-4d1d-8806-c1b20f16c10d" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><loginhibit /><display x="15" y="-135" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>982dd82e-af43-49cb-a4b1-58da1ccfeb33</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="6ca6d1da-9270-43f8-89d4-c0ece0a353cb" name="worksheetname" type="Data"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><display x="-195" y="90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ae9d880b-4f92-4620-94e8-36d06f4e2181" name="Start" type="Start"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><loginhibit /><display x="15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance from which the required cell value should be retrieved. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Cell Reference" narrative="The cell reference indicating which cell's value should be retrieved. An empty value indicates that the currently active cell's value should be retrieved." stage="cellref" /></inputs><onsuccess>9a734ecf-7e58-4aa4-b7ff-5aa4494ec687</onsuccess></stage><stage stageid="ca24190a-a9cb-4c37-b5d2-78bcd838ef40" name="End" type="End"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><loginhibit /><display x="15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Value" narrative="The (unformatted) value from the required cell." stage="value" /></outputs></stage><stage stageid="b659eb08-bf67-463a-a8cc-556b152d8032" name="cellref" type="Data"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="257d1cf8-2a6f-47d2-88ee-1d0a125cb27d" name="value" type="Data"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><display x="-195" y="60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a04a5ea1-798c-4659-ac77-0c966c305cba" name="Get Cell Value" type="Code"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><loginhibit /><display x="15" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="cellref" expr="[cellref]" /></inputs><outputs><output type="text" name="value" stage="value" /></outputs><onsuccess>ca24190a-a9cb-4c37-b5d2-78bcd838ef40</onsuccess><code><![CDATA[
	Dim cellVal as String = GetInstance(handle).ActiveCell.Value
	value = IIf(cellVal Is Nothing, "", cellVal)]]></code></stage><stage stageid="39135f99-dd54-4a2b-bff2-555714753a6d" name="Go To Cell" type="SubSheet"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><loginhibit /><display x="15" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be navigated to. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Cell Reference" narrative="The cell reference on the currently active sheet within the specified instance which should be navigated to." expr="[cellref]" /></inputs><onsuccess>a04a5ea1-798c-4659-ac77-0c966c305cba</onsuccess><processid>ed502669-4207-4c88-895d-8c58ec321578</processid></stage><stage stageid="c533ffd2-866d-4944-82be-7e6a6ede4c9a" name="handle" type="Data"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="e3fe8fb5-4290-4e6e-8d8f-780f47e78d27" name="workbookname" type="Data"><subsheetid>73b8ddb4-b679-4697-b3c4-79ce833a9456</subsheetid><display x="-240" y="-120" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5a7dc88f-16d6-41f8-a4f1-4ca8921bf024" name="Get Worksheet As Collection" type="SubSheetInfo"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><narrative>Gets the current worksheet into a collection. This will read the worksheet and store the contents into the collection. The first row will be treated as the column names and will be used as the column names in the generated collection.

Params:
- handle : Number : The integer identifying the instance in which the worksheet resides. Default (0) indicates the current instance.
- Workbook Name : Text : The name of the workbook on which the sheet resides. Default ("") indicates the active workbook on the instance.
- Worksheet Name : Text : The name of the worksheet which is required as a collection. Default ("") indicates the active sheet within the workbook.

Output:
Data - Collection - The data from the worksheet.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.
- Worksheet Not Found : If the specified worksheet does not exist on the specified workbook.

Office 2013 onwards
There are known issues when attempting to read and write data using the Excel VBO with the application set to run in background mode. These issues can be overcome by using the Show action</narrative><display x="-285" y="-195" w="420" h="270" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="cf5b0880-2cac-4221-946a-e4e3d7f0bc99" name="End" type="End"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><loginhibit /><display x="15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="collection" name="Data" narrative="The collection containing the data from the specified worksheet - the column IDs will be gleaned from the first row on the sheet being retrieved." stage="worksheetcollection" /></outputs></stage><stage stageid="c42e68de-468d-4aac-bcd2-283b9f578565" name="handle" type="Data"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><display x="-195" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="ed8d683e-8efe-426c-8be6-85136cbdf337" name="workbookname" type="Data"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><display x="-195" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="14362f26-4336-4848-adf6-2e710eb2a69d" name="Start" type="Start"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><loginhibit /><display x="15" y="-285" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the worksheet which should be retrieved resides. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook which contains the sheet required. The default empty text indicates the currently active workbook on the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet within the specified workbook which should be written to a collection. The default empty text indicates the currently active worksheet within the specified workbook." stage="worksheetname" /><input type="text" name="Fetch Data With Method" narrative="The method used to fetch data from cells in the worksheet. Options include Text, Value, and Value2. The default indicates Value will be used." stage="fetchDataWithMethod" /></inputs><onsuccess>23c90658-57ef-456a-92fa-970b0161d0f8</onsuccess></stage><stage stageid="36a8c859-cf71-4b54-b7ed-317997b94589" name="GetWorksheetAsCollection" type="Code"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><loginhibit /><display x="15" y="-120" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="worksheetname" expr="[worksheetname]" /><input type="text" name="fetchDataWithMethod" expr="[fetchDataWithMethod]" /></inputs><outputs><output type="collection" name="worksheetcollection" stage="worksheetcollection" /><output type="flag" name="sheetexists" stage="sheetexists" /></outputs><onsuccess>b6d0da26-0322-4b43-b1d5-304466ff29fb</onsuccess><code><![CDATA[
	Dim ws as Object = _
	 GetWorksheet(handle, workbookname, worksheetname, False)

	' Do we have a sheet?
	sheetexists = ws IsNot Nothing
	' No sheet? No entry.
	If Not sheetexists Then Return

	ws.Activate()

	worksheetCollection = GetWorksheetUsedRangeAsDataTable(ws.UsedRange, True, fetchDataWithMethod)
]]></code></stage><stage stageid="23c90658-57ef-456a-92fa-970b0161d0f8" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><loginhibit /><display x="15" y="-210" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>36a8c859-cf71-4b54-b7ed-317997b94589</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="51a0a405-79a5-4a53-9a36-a40b08481389" name="worksheetname" type="Data"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><display x="-195" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c4c01041-da7a-4cd3-9990-a0a236064fa5" name="worksheetcollection" type="Collection"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><display x="-345" y="-15" w="150" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="9b8dd3a0-045b-4019-b977-8716d12d92c6" name="workbookname" type="Data"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><loginhibit /><display x="-210" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3ba94499-d376-4a0b-9486-f4bced0a6a23" name="Close All Instances" type="SubSheetInfo"><subsheetid>feb8ce9f-299e-4152-85a1-354a5f9d995c</subsheetid><narrative>Closes all instances of excel which have been opened by this business object, either through "Create Instance" or "Open Instance" and which have not been discarded through "Close Instance" or "Release Instance"</narrative><display x="-195" y="-105" w="210" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="e8745127-ee68-4c60-8b52-0b68e91835bf" name="Start" type="Start"><subsheetid>feb8ce9f-299e-4152-85a1-354a5f9d995c</subsheetid><loginhibit /><preconditions><condition narrative="" /></preconditions><display x="15" y="-165" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>8f8060c8-cea7-41c9-93c1-b181ca345fa9</onsuccess></stage><stage stageid="85215f92-002d-4d9c-8fe7-652c149d0206" name="End" type="End"><subsheetid>feb8ce9f-299e-4152-85a1-354a5f9d995c</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="8f8060c8-cea7-41c9-93c1-b181ca345fa9" name="CloseAllInstances" type="Code"><subsheetid>feb8ce9f-299e-4152-85a1-354a5f9d995c</subsheetid><loginhibit /><display x="15" y="-105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>85215f92-002d-4d9c-8fe7-652c149d0206</onsuccess><code><![CDATA[
Dim clone as Dictionary(Of Integer,Object) = _
	new Dictionary(Of Integer,Object)(HandleMap)

For Each Handle As Integer In clone.Keys
	CloseInstance(Handle,False)
Next]]></code></stage><stage stageid="15437c28-7f56-4c1b-b98a-769b875b9d57" name="Find Next Empty Cell" type="SubSheetInfo"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><narrative>Searches for the next empty cell in the direction given.
This can either activate that cell before returning, or just return the cell reference while leaving the active cell as it was.

Params:
- handle : Number : The integer handle identifying the Excel instance to use. The default of zero indicates the 'current' instance.
- Direction : Text : The direction in which to go, this should start with "U", "D", "L" or "R" (not case-sensitive) - the rest of the string is ignored, so you can use "Up", "DOWN" "left" and, indeed, "r"
- Activate Cell? : Flag : True to activate the found cell, False to just return the reference. Default is False.

Returns:
- Cell Reference : Text : The cell ID which represents the next empty cell in the required direction. This will be blank if no empty cell was found in the given direction.

Exceptions:
Invalid Direction Parameter : If the given direction parameter was invalid - ie. did not start with one of the (case-insensitive) letters "U", "D", "L" or "R".</narrative><display x="-300" y="-195" w="450" h="270" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="d3707693-ef57-453a-b8b2-16e8d8aee39f" name="Start" type="Start"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><loginhibit /><display x="-15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be sought. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Direction" narrative="The direction in which the next empty cell is required. This should start with any of &quot;U&quot;, &quot;D&quot;, &quot;L&quot; or &quot;R&quot; to find a cell up, down, left or right respectively. The direction parameter is not case-sensitive." stage="direction" /><input type="flag" name="Activate Cell?" narrative="True to activate the cell which is found; False to just return the reference and leave the active cell as it was before. Default is False." stage="activatecell" /></inputs><onsuccess>ea536eb5-62b7-4b15-b0b9-0c5415414692</onsuccess></stage><stage stageid="65e26d12-b37e-4df9-a00b-07340967e5b2" name="End" type="End"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><loginhibit /><display x="-15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Cell Reference" narrative="The cell reference identifying the next empty cell from the active cell in the direction given. An empty value indicates that there were no empty cells between the active cell and a boundary." stage="cellref" /></outputs></stage><stage stageid="2d159e37-f93b-42db-b8a7-3ea3e5300c76" name="direction" type="Data"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><display x="-240" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="bf3a1953-80c7-4d24-92fe-1e6823202956" name="cellref" type="Data"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><display x="-150" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ea536eb5-62b7-4b15-b0b9-0c5415414692" name="Direction Valid?" type="Decision"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><loginhibit /><narrative>Direction must start with one of the following:
- U : Indicates 'up'
- D : Indicates 'down'
- L : Indicates 'left'
- R : Indicates 'right'
Any other value (including empty text) is invalid</narrative><display x="-15" y="-75" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="Len(Trim([direction]))&gt;0 AND InStr(&quot;UDLR&quot;,Upper(Left(Trim([direction]),1)))&lt;&gt;0" /><ontrue>e8cca858-4b46-40a0-81fc-3112398c4a42</ontrue><onfalse>382555c6-554f-465d-bbac-43e5b0ec06ed</onfalse></stage><stage stageid="382555c6-554f-465d-bbac-43e5b0ec06ed" name="Invalid Direction Parameter" type="Exception"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><display x="150" y="-75" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="Invalid Direction Parameter" detail="&quot;Direction: '&quot; &amp; [direction] &amp; &quot;' is invalid - it must start with 'U', 'D', 'L' or 'R' (up, down, left or right)&quot;" /></stage><stage stageid="e8cca858-4b46-40a0-81fc-3112398c4a42" name="FindEmptyCell" type="Code"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><loginhibit /><display x="-15" y="-15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="direction" expr="[direction]" /></inputs><outputs><output type="text" name="cellref" stage="cellref" /></outputs><onsuccess>a47f3c07-957d-4909-bc43-4c56e5f58ae6</onsuccess><code><![CDATA[
' The initial char of the direction (capitalised)
Dim strDir as String = direction.Trim().Substring(0,1).ToUpper()

' The excel instance
Dim excel as Object = GetInstance(handle)

' The excel enum representing the direction
' Note: setting to zero is just to nix a duff compiler warning
Dim dirn as Integer = 0

' xlDirection enum values from: 
' http://msdn.microsoft.com/en-us/library/bb241212.aspx

' Get the direction we need to go
Select Case strDir
	Case "U"
		dirn = -4162 ' Excel.XlDirection.xlToUp
	Case "D"
		dirn = -4121 ' Excel.XlDirection.xlToDown
	Case "L"
		dirn = -4159 ' Excel.XlDirection.xlToLeft
	Case "R"
		dirn = -4161 ' Excel.XlDirection.xlToRight
	Case Else
		Throw New ArgumentException("Invalid Direction: " & strDir)
End Select

Dim cell as Object = excel.ActiveCell

While True

	' First check the next one along - if that's blank then we're away..
	Dim nextCell as Object = GetNextCell(cell, strDir)

	' If the cell address is the same on moving - that indicates we're
	' at a limit (eg. 1st column going left, last row going down etc.)
	' Just return empty to indicate that there are no blank cells in
	' that direction.
	If cell.Address = nextCell.Address Then
		cellref = ""
		Return
	ElseIf nextCell.Value = Nothing Then ' We've found our blank
		cellref = nextCell.Address(False,False)
		Return
	End If
	
	cell = nextCell
	
	' Quick way (rather than plodding from one cell to the next)
	' is to effectively press the 'End' key - but this is highly
	' inconsistent in what it returns.
	' Go to the 'end' of the range - ie. the last filled cell
	' cell = cell.End(dirn)
	' Now we need to go one beyond, ie. to the next cell
	' cell = GetNextCell(cell, strDir)

End While
]]></code></stage><stage stageid="facf151b-ee72-46d1-b528-a921e6945048" name="handle" type="Data"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><display x="-240" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="c507994e-eb49-43c1-bf77-9bf7cf88e0e6" name="Get Formatted Cell Value" type="SubSheetInfo"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><narrative>Gets the formatted value of the desired cell. This will apply any formatting which is in place in the specified cell before outputting the value.</narrative><display x="-195" y="-105" w="210" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="c0ed8b3d-fb86-442b-959e-a601d2d5f84f" name="Start" type="Start"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><loginhibit /><display x="15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance within which the cell is contained. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Cell Reference" narrative="The reference to the cell whose value is required. Note that a side-effect of this action is that the specified cell will become the active cell on the specified instance. An empty value indicates the currently active cell." stage="cellref" /></inputs><onsuccess>29427d7f-a2d9-4b65-b6c4-773881bd285d</onsuccess></stage><stage stageid="722e3ab7-97b7-4cd6-886e-53bf4ac022ec" name="End" type="End"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><loginhibit /><display x="15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Value" narrative="The formatted value at the given cell reference." stage="value" /></outputs></stage><stage stageid="1260d770-e90c-4ea2-9e64-e3442c7de787" name="cellref" type="Data"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6618eccc-3c6e-4660-997c-5f9142e71dc8" name="value" type="Data"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><display x="-195" y="60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="94dc11fe-505e-4544-a26b-80d3d88d0951" name="Get Cell Text" type="Code"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><loginhibit /><display x="15" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="cellref" expr="[cellref]" /></inputs><outputs><output type="text" name="value" stage="value" /></outputs><onsuccess>722e3ab7-97b7-4cd6-886e-53bf4ac022ec</onsuccess><code><![CDATA[
	value = GetInstance(handle).ActiveCell.Text]]></code></stage><stage stageid="3e695c2e-2110-4655-ba2e-31a41f453383" name="handle" type="Data"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="d9fc29b1-af47-4caf-882b-d9fc56955a8b" name="Split Worksheet" type="SubSheetInfo"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><narrative>Splits the specified worksheet into separate workbooks, creating a new sheet on each one and copying a subset of rows across to it.

Params:
- handle : Number : The integer representing the Excel instance - 0 represents the 'active' excel instance.
- Rows per sheet : Number : The number of rows which should be copied into each separate workbook.
- Workbook Name : Text : The name of the workbook from which the sheet should be split. "" indicates the active workbook on the instance.
- Worksheet Name : Text : The name of the worksheet from which the data should be split. "" indicates the active worksheet on the instance.
- Path : Text : The directory in which the resultant workbooks should be saved.
- No Title Row : Flag : True to indicate that the first row should *not* be used as a title row and copied across each of the generated workbooks.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.
- File Not Found : If the given path did not exist or was not a directory</narrative><display x="-240" y="-180" w="510" h="240" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="aa8bb9c5-c392-43d5-b8fb-6a6308c40ad6" name="End" type="End"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><loginhibit /><display x="105" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="052dc2d6-2989-49fb-9dbd-d4db6e106c98" name="Start" type="Start"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><loginhibit /><display x="105" y="-285" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the worksheet which should be retrieved resides. The default of zero indicates the currently active instance." stage="handle" /><input type="number" name="Rows per worksheet" narrative="The number of rows which should appear in each worksheet. Zero indicates all rows." stage="rowspersheet" /><input type="text" name="Workbook Name" narrative="The name of the workbook within the specified instance which contains the sheet to be split. The default empty text indicates the currently active workbook within the specified instance should be used." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet within the specified workbook to split - The default empty value indicates that the currently active sheet within the workbook should be used." stage="worksheetname" /><input type="flag" name="No Title Row" narrative="True to indicate that the rows should just be split across without using the first row as a title row (ie. as a list of column headers). False to indicate that the first row contains the column headers which should be replicated across all generated sheets." stage="notitle" /><input type="text" name="Path" narrative="The path to the directory in which the generated workbooks should be created. The files will be created with a name of &quot;{Workbook Name}_SECTION_nnnn&quot;, where nnnn is an number incrementing with each section generated." stage="path" /></inputs><onsuccess>ee1e1e11-a16a-4060-9ea0-0848320dfbaf</onsuccess></stage><stage stageid="3200e67b-1f79-4672-9828-e9e4438f565b" name="handle" type="Data"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="-285" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="177b7483-8cfb-41a7-8644-e4fdc19ecf2a" name="rowspersheet" type="Data"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="-150" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="dd48b9ea-dee0-4b1a-a9bb-7c84a64fa132" name="workbookname" type="Data"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="-285" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4f865844-bba2-4377-8b24-5d089cbfb8c4" name="worksheetname" type="Data"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="-285" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ee1e1e11-a16a-4060-9ea0-0848320dfbaf" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><loginhibit /><display x="105" y="-225" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>359dbb2d-d57f-48c1-9c7f-1d22ef094036</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="359dbb2d-d57f-48c1-9c7f-1d22ef094036" name="Split Worksheet" type="Code"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><loginhibit /><display x="105" y="-165" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="worksheetname" expr="[worksheetname]" /><input type="number" name="rowspersheet" expr="[rowspersheet]" /><input type="flag" name="notitle" expr="[notitle]" /><input type="text" name="path" expr="[path]" /></inputs><outputs><output type="flag" name="filefound" stage="filefound" /><output type="flag" name="sheetexists" stage="sheetexists" /></outputs><onsuccess>5cb56c9a-aa29-4ed4-84e1-9a65976ba50f</onsuccess><code><![CDATA[Dim sheet as Object = GetWorksheet(handle,workbookname,worksheetname,False)

sheetexists = sheet IsNot Nothing
If Not sheetexists Then Return

Dim book as Object = sheet.Parent
Dim excel as Object = sheet.Application

Dim prefix as String = book.Name
If prefix.ToLower().EndsWith(".xls") Then
	prefix = prefix.Substring(0,prefix.Length - 4)
End If

If Not path.EndsWith("\") Then
	path += "\"
End If

filefound = Directory.Exists(path)
If Not filefound Then ' Might as well quit now 
	Return
End If

Dim lastCell as Object = sheet.Cells.Find("*", , , , , 2)			 'Excel.XlSearchDirection.xlPrevious=2
'loop through the worksheet in blocks of Numblines lines

' Force overwrites if the excel book already exists.
excel.DisplayAlerts = False ' Hide alerts

Dim loopCount as Integer = 0
For row as Integer = 1 To lastCell.Row-1 Step rowspersheet ' -1 to cope with total-rows = rowspersheet
	loopCount = loopCount + 1
	Dim newbook as Object = excel.Workbooks.Add
	If notitle Then
		'copy each block into the new worksheet
		sheet.Range(sheet.Cells(row, 1), sheet.Cells(loopCount * rowspersheet, sheet.Columns.Count)).EntireRow.Copy(newbook.Sheets(1).Range("A1"))
	Else
		'in here - so there must be a title row that needs copying to all the new worksheets
		If row = 1 Then
			'copy row 1-201 into new worksheet (including title row at #1)
			sheet.Range(sheet.Cells(row, 1),sheet.Cells(row + rowspersheet,sheet.Columns.Count)).EntireRow.Copy(newbook.Sheets(1).Range("A1"))
		Else
			'copy title row into new worksheet
			sheet.Range(sheet.Cells(1, 1),sheet.Cells(1,sheet.Columns.Count)).EntireRow.Copy(newbook.Sheets(1).Range("A1"))
			'next copy row iloop+1 to iloop+NumbLines into new worksheet (i.e. 202-401)
			sheet.Range(sheet.Cells(row + 1, 1),sheet.Cells(row + rowspersheet,sheet.Columns.Count)).EntireRow.Copy(newbook.Sheets(1).Range("A2"))
		End If
	End If
	'close and save the new workbook
	newbook.Close(True, path & prefix & "_SECTION_" & (loopCount+1000).ToString().Substring(1) & ".xls")
Next]]></code></stage><stage stageid="cfd178fc-26e5-4e7c-b9f3-cb49ea4de27e" name="notitle" type="Data"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="-150" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="acee6017-400e-44c3-8b07-611d7318fecf" name="path" type="Data"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="-150" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2dec5f88-d7e5-4ad4-be54-8744dc5cac54" name="filefound" type="Data"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="-150" y="105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="859597f9-d048-46a3-bf99-2f3f6588c2c5" name="Was file found?" type="Decision"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><loginhibit /><display x="105" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[filefound]" /><ontrue>aa8bb9c5-c392-43d5-b8fb-6a6308c40ad6</ontrue><onfalse>6b2c84c0-9ceb-4f05-8746-5dfbf7ed3733</onfalse></stage><stage stageid="6b2c84c0-9ceb-4f05-8746-5dfbf7ed3733" name="No Such Directory" type="Exception"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="300" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="File Not Found" detail="&quot;Directory : &quot; &amp; [path] &amp; &quot; does not exist or is not a directory&quot;" /></stage><stage stageid="e9c5ba22-79d3-4bd7-ae8f-3b36c06dd51e" name="Get Number Of Rows" type="SubSheetInfo"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><narrative>Counts the number of rows in a worksheet.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="555b5c2d-9106-444b-9c96-f1ff4699a988" name="End" type="End"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><loginhibit /><display x="15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="number" name="Number of rows" narrative="The number of rows." stage="rowcount" /></outputs></stage><stage stageid="1c4aa0dc-e628-424b-8df8-eaf16dbd668d" name="Start" type="Start"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><loginhibit /><display x="15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the number of rows is required. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook on which the number of rows is required. The default empty text value indicates the currently active workbook on the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet on which the number of rows is required. The default empty text value indicates the currently active sheet on the specified workbook." stage="worksheetname" /></inputs><onsuccess>35173317-eeae-482b-8a2a-ea46406fcb4f</onsuccess></stage><stage stageid="35173317-eeae-482b-8a2a-ea46406fcb4f" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><loginhibit /><display x="15" y="-75" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>aa3ba555-86e5-42ae-bdb5-b614c46bdaf9</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="aa3ba555-86e5-42ae-bdb5-b614c46bdaf9" name="Count Rows" type="Code"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><loginhibit /><display x="15" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="worksheetname" expr="[worksheetname]" /></inputs><outputs><output type="number" name="rowcount" stage="rowcount" /></outputs><onsuccess>555b5c2d-9106-444b-9c96-f1ff4699a988</onsuccess><code><![CDATA[
' enum - Excel.XlSearchDirection.xlPrevious=2
rowcount = GetWorksheet(handle,workbookname,worksheetname).Cells.Find("*", , , , , 2).Row]]></code></stage><stage stageid="fbf7b5e7-f86b-48f0-8d2a-8658bcabfe72" name="handle" type="Data"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><display x="-270" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="ae17d409-d655-459f-a6fe-1c4ed04c7023" name="workbookname" type="Data"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><display x="-270" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4f2032a3-62ce-48a2-b098-ed275a569931" name="worksheetname" type="Data"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><display x="-270" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ac9321b0-2209-4f44-bd1e-3876c05fc35f" name="rowcount" type="Data"><subsheetid>dc139ac7-b971-481e-9528-b1521ae9fc92</subsheetid><display x="-150" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e1bb96d7-94f9-4570-85a9-f1bcff4f31ae" name="Is Read Only" type="SubSheetInfo"><subsheetid>ddb3c741-0c59-4ac8-a260-258fb8eb1674</subsheetid><narrative>Checks if the given workbook is read only or not.

Params:
- handle : Number : The integer identifying the excel instance to check. Default (0) indicates the current instance.
- Workbook Name : Text : The name of the workbook to be checked. Default ("") indicates the active workbook on the given instance.

Output:
Read Only? : Flag : True to indicate that the workbook is read only; False to indicate that it is writable.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.</narrative><display x="-300" y="-165" w="420" h="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="bb6cb4de-9a8f-424e-82d8-52d766ab5da5" name="Start" type="Start"><subsheetid>ddb3c741-0c59-4ac8-a260-258fb8eb1674</subsheetid><loginhibit /><display x="0" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook which should be checked resides. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook to test to see if it is read-only or not." stage="workbookname" /></inputs><onsuccess>91487aa9-0d65-4895-940d-c4fed2212eec</onsuccess></stage><stage stageid="1e8fe949-d784-437f-a724-b5003709f18c" name="End" type="End"><subsheetid>ddb3c741-0c59-4ac8-a260-258fb8eb1674</subsheetid><loginhibit /><display x="0" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="flag" name="Read Only?" narrative="True to indicate that the specified workbook is read-only; False to indicate that it can be written to." stage="isreadonly" /></outputs></stage><stage stageid="cfa1438f-ab60-4810-a5b5-ede71fc7b700" name="handle" type="Data"><subsheetid>ddb3c741-0c59-4ac8-a260-258fb8eb1674</subsheetid><display x="-270" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="da3c5815-0a1f-4d3d-af8a-09e5f8a1d262" name="workbookname" type="Data"><subsheetid>ddb3c741-0c59-4ac8-a260-258fb8eb1674</subsheetid><display x="-270" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="91487aa9-0d65-4895-940d-c4fed2212eec" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>ddb3c741-0c59-4ac8-a260-258fb8eb1674</subsheetid><loginhibit /><display x="0" y="-90" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>e412638c-10ff-49e6-ae71-6b5c86f40ddb</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="b7057d73-acb5-4298-a652-5f91898d67d6" name="isreadonly" type="Data"><subsheetid>ddb3c741-0c59-4ac8-a260-258fb8eb1674</subsheetid><display x="-150" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e412638c-10ff-49e6-ae71-6b5c86f40ddb" name="Check Read Only" type="Code"><subsheetid>ddb3c741-0c59-4ac8-a260-258fb8eb1674</subsheetid><loginhibit /><display x="0" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><outputs><output type="flag" name="isreadonly" stage="isreadonly" /></outputs><onsuccess>1e8fe949-d784-437f-a724-b5003709f18c</onsuccess><code><![CDATA[
isreadonly = GetWorkbook(handle,workbookname).ReadOnly]]></code></stage><stage stageid="fedc107e-577b-47d9-a445-c3a3e66ef516" name="Close All Instances" type="SubSheet"><subsheetid>ab6c7fcd-9997-4c5c-9ff1-2dcb5879975a</subsheetid><loginhibit /><display x="15" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>d2814bb7-61fc-4b4f-8fd9-2dd9f79c06ba</onsuccess><processid>feb8ce9f-299e-4152-85a1-354a5f9d995c</processid></stage><stage stageid="f6285d0d-f7fe-4987-96cf-4d0e27180f81" name="Show" type="SubSheetInfo"><subsheetid>268628ce-c0f3-492a-be5c-87b432e16d1d</subsheetid><narrative>Shows a window attached to the instance identified.

Params:
- handle : Number : The handle identifying the excel instance to show. The default of zero shows the currently active instance.

Exceptions:
- Bad Handle : If the given handle did not correspond to an instance.
</narrative><display x="-225" y="-105" w="330" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="865342da-5035-45ef-9902-c74ba855f521" name="Start" type="Start"><subsheetid>268628ce-c0f3-492a-be5c-87b432e16d1d</subsheetid><loginhibit /><display x="15" y="-150" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance which should have its window displayed. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>6562ae8e-f16f-4f89-8787-7884cc6a57db</onsuccess></stage><stage stageid="565f4f77-b276-4735-9c18-000ce13946a7" name="End" type="End"><subsheetid>268628ce-c0f3-492a-be5c-87b432e16d1d</subsheetid><loginhibit /><display x="15" y="-15" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="6562ae8e-f16f-4f89-8787-7884cc6a57db" name="CheckInstanceHandle" type="SubSheet"><subsheetid>268628ce-c0f3-492a-be5c-87b432e16d1d</subsheetid><loginhibit /><display x="15" y="-105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>7785ca63-e0a8-40c6-940b-0d9e73944b25</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="97a05e5a-864b-4413-8623-d939827e5c39" name="Hide" type="SubSheetInfo"><subsheetid>ef10421c-e1ff-4227-b367-c53059a6766d</subsheetid><narrative>Hides the window attached to the instance identified.

Params:
- handle : Number : The handle identifying the excel instance to hide. The default of zero shows the currently active instance.

Exceptions:
- Bad Handle : If the given handle did not correspond to an instance.
</narrative><display x="-240" y="-120" w="360" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="7785ca63-e0a8-40c6-940b-0d9e73944b25" name="ShowInstance" type="Code"><subsheetid>268628ce-c0f3-492a-be5c-87b432e16d1d</subsheetid><loginhibit /><display x="15" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>565f4f77-b276-4735-9c18-000ce13946a7</onsuccess><code><![CDATA[
	GetInstance(handle).Visible = True]]></code></stage><stage stageid="f65b17c8-19fe-4381-9b68-8909f6aa312d" name="handle" type="Data"><subsheetid>268628ce-c0f3-492a-be5c-87b432e16d1d</subsheetid><display x="-195" y="-15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="11f4ca85-d053-4b2e-a46d-705fe87040c0" name="Start" type="Start"><subsheetid>ef10421c-e1ff-4227-b367-c53059a6766d</subsheetid><loginhibit /><preconditions><condition narrative="" /></preconditions><display x="15" y="-165" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance which should have its window hidden. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>ebc908b3-4501-4500-9648-a35ebbabddda</onsuccess></stage><stage stageid="6106570f-43e1-4a42-9f67-c8f2522a910c" name="End" type="End"><subsheetid>ef10421c-e1ff-4227-b367-c53059a6766d</subsheetid><loginhibit /><display x="15" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="ebc908b3-4501-4500-9648-a35ebbabddda" name="CheckInstanceHandle" type="SubSheet"><subsheetid>ef10421c-e1ff-4227-b367-c53059a6766d</subsheetid><loginhibit /><display x="15" y="-120" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>1cc2d38f-3783-42f7-8b75-78243c367fb3</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="1cc2d38f-3783-42f7-8b75-78243c367fb3" name="HideInstance" type="Code"><subsheetid>ef10421c-e1ff-4227-b367-c53059a6766d</subsheetid><loginhibit /><display x="15" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>6106570f-43e1-4a42-9f67-c8f2522a910c</onsuccess><code><![CDATA[
	GetInstance(handle).Visible = False]]></code></stage><stage stageid="11e05865-7edb-4526-b015-b4b5f725fbc4" name="handle" type="Data"><subsheetid>ef10421c-e1ff-4227-b367-c53059a6766d</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="2e480365-7061-4a6c-81ea-380e5bd06ef7" name="Save Current Workbook As" type="SubSheetInfo"><subsheetid>81b9e5cd-a91d-4a33-bc23-1602c5fe878f</subsheetid><narrative>Save the current workbook using the given file name. This is the equivalent of calling the 'Save Workbook As' action with the default values for 'handle' (0) and 'Workbook Name' ("")

Params :
- File name : Text : The path and name of the file to which the workbook should be saved.

Output :
- New Workbook Name : Text : The new name with which the workbook is identified within the excel instance.</narrative><display x="-285" y="-150" w="360" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="7e1a622f-6438-41c8-9b86-e0d93c8267cb" name="Start" type="Start"><subsheetid>81b9e5cd-a91d-4a33-bc23-1602c5fe878f</subsheetid><loginhibit /><display x="-15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance for which the current workbook which should be saved. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="File name" narrative="The full path and file name to which the current workbook should be saved." stage="filename" /></inputs><onsuccess>ec111fc5-c308-4507-8b78-8fa3a8cfa136</onsuccess></stage><stage stageid="acb62e2e-bb38-4f8b-8ceb-61ec851d8986" name="End" type="End"><subsheetid>81b9e5cd-a91d-4a33-bc23-1602c5fe878f</subsheetid><loginhibit /><display x="-15" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="New Workbook Name" narrative="The new workbook name which Excel will use to identify the workbook." stage="newworkbookname" /></outputs></stage><stage stageid="c5eee5f9-2db2-4efb-8f47-46e98073dedb" name="filename" type="Data"><subsheetid>81b9e5cd-a91d-4a33-bc23-1602c5fe878f</subsheetid><display x="-195" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ec111fc5-c308-4507-8b78-8fa3a8cfa136" name="Save Workbook As" type="SubSheet"><subsheetid>81b9e5cd-a91d-4a33-bc23-1602c5fe878f</subsheetid><loginhibit /><display x="-15" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="Workbook Name" expr="&quot;&quot;" /><input type="text" name="Filename" expr="[filename]" /></inputs><outputs><output type="text" name="New Workbook Name" stage="newworkbookname" /></outputs><onsuccess>acb62e2e-bb38-4f8b-8ceb-61ec851d8986</onsuccess><processid>21a53e34-8128-41cb-ad73-17250758ff23</processid></stage><stage stageid="09b432b9-8774-440c-8468-a5effa8bfe98" name="Exit" type="SubSheetInfo"><subsheetid>dc33871a-9aec-4a29-b811-3ab205ddf41e</subsheetid><narrative>Here for backward compatibility - exits the current instance of Excel without saving any changes.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="4f9b1c2f-8b07-4ff1-95bc-12d1de8ec1a8" name="Start" type="Start"><subsheetid>dc33871a-9aec-4a29-b811-3ab205ddf41e</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>fc97b188-f45e-46f4-a66e-f592917cabb1</onsuccess></stage><stage stageid="c6c7615b-e18b-42aa-9e83-88884e01e23b" name="End" type="End"><subsheetid>dc33871a-9aec-4a29-b811-3ab205ddf41e</subsheetid><loginhibit /><display x="-30" y="-15" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="fc97b188-f45e-46f4-a66e-f592917cabb1" name="Close Instance" type="SubSheet"><subsheetid>dc33871a-9aec-4a29-b811-3ab205ddf41e</subsheetid><loginhibit /><display x="-30" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="0" /><input type="flag" name="Save Changes" expr="False" /></inputs><onsuccess>c6c7615b-e18b-42aa-9e83-88884e01e23b</onsuccess><processid>6ec3006a-6553-4526-b522-32526c4aa3cc</processid></stage><stage stageid="f441e8a4-9990-4a87-a011-cb9f6c56a3f3" name="Save Current Workbook" type="SubSheetInfo"><subsheetid>76d598ed-b254-4c1e-8004-d4f2928b1450</subsheetid><narrative>Saves the current workbook using the workbook name as the file name.
This is the equivalent of calling the Save Workbook action with the default values for 'handle' (0) and 'Workbook Name' ("")

Exceptions: 
- Bad Handle : If there is no active instance.
- Workbook Not Found : If there is no active workbook on the instance.</narrative><display x="-270" y="-90" w="330" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="ed1db4c8-9563-4f9f-9606-a26b934a1db5" name="Start" type="Start"><subsheetid>76d598ed-b254-4c1e-8004-d4f2928b1450</subsheetid><loginhibit /><display x="-45" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>0d75fe69-c13e-4536-a444-0f915cb6844a</onsuccess></stage><stage stageid="097cd2c8-6d4c-42dc-a542-6e1f1e5a1b7e" name="End" type="End"><subsheetid>76d598ed-b254-4c1e-8004-d4f2928b1450</subsheetid><loginhibit /><display x="-45" y="-15" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="0d75fe69-c13e-4536-a444-0f915cb6844a" name="Save Workbook" type="SubSheet"><subsheetid>76d598ed-b254-4c1e-8004-d4f2928b1450</subsheetid><loginhibit /><display x="-45" y="-75" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="0" /><input type="text" name="Workbook Name" expr="&quot;&quot;" /></inputs><onsuccess>097cd2c8-6d4c-42dc-a542-6e1f1e5a1b7e</onsuccess><processid>6e7cb0ad-5910-4065-aab2-2919726bae39</processid></stage><stage stageid="4e15b86d-9a5b-40ce-babe-c9fb02cf8764" name="createifmissing" type="Data"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><display x="-180" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>False</initialvalue><private /><alwaysinit /></stage><stage stageid="dabb4d29-516f-442c-b2da-32cc45ae4df3" name="Get Worksheet As Collection (Fast)" type="SubSheetInfo"><subsheetid>e58a482d-f349-4f40-9b03-a903156ce1b5</subsheetid><narrative>Here for back-compatability. Should be considered deprecated and calls should be replaced by "Get Worksheet As Collection", but right now this gets the active worksheet on the active workbook in the current instance of Excel into a collection. It is the equivalent of calling GetWorksheet As Collection with all the default input values.

Output:
Data : Collection : The active sheet's data in a collection.</narrative><display x="-300" y="-120" w="330" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="c9ce0be6-6a88-4147-aeb3-e8974bb74970" name="Start" type="Start"><subsheetid>e58a482d-f349-4f40-9b03-a903156ce1b5</subsheetid><loginhibit /><display x="-45" y="-165" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>a3308402-1446-47b9-9e40-cc105a30db14</onsuccess></stage><stage stageid="aa04eeb6-e87c-4392-b7d2-52e4eb0b28af" name="End" type="End"><subsheetid>e58a482d-f349-4f40-9b03-a903156ce1b5</subsheetid><loginhibit /><display x="-45" y="0" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="collection" name="Data" narrative="The data output" stage="worksheetcollection" /></outputs></stage><stage stageid="98e74d10-88b7-40dd-b771-0a137c8d0665" name="worksheetcollection" type="Collection"><subsheetid>e58a482d-f349-4f40-9b03-a903156ce1b5</subsheetid><display x="-210" y="-15" w="120" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="a3308402-1446-47b9-9e40-cc105a30db14" name="Get Worksheet As Collection" type="SubSheet"><subsheetid>e58a482d-f349-4f40-9b03-a903156ce1b5</subsheetid><loginhibit /><display x="-45" y="-90" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="0" /><input type="text" name="Workbook Name" expr="&quot;&quot;" /><input type="text" name="Worksheet Name" expr="&quot;&quot;" /><input type="text" name="Fetch Data With Method" expr="&quot;&quot;" /></inputs><outputs><output type="collection" name="Data" stage="worksheetcollection" /></outputs><onsuccess>aa04eeb6-e87c-4392-b7d2-52e4eb0b28af</onsuccess><processid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</processid></stage><stage stageid="078c6299-d93e-41b7-9a05-e26f0436b301" name="Format Cell" type="SubSheetInfo"><subsheetid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</subsheetid><narrative>Sets the number format at the given cell to that specified.
Oddly, this *doesn't* set the currently active cell.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="584cad36-fa91-4f11-83b7-4829f89f9a35" name="Start" type="Start"><subsheetid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</subsheetid><loginhibit /><display x="-45" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the cell to be formatted is contained. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Cell Reference" narrative="The reference to the cell whose format should be changed." stage="cellref" /><input type="text" name="Cell Format" narrative="The format required for the cell - this can be the name of the default format (eg. &quot;General&quot;) or a sequence of formatting codes (eg. &quot;ÂŁ#,##0.00_);[Red](ÂŁ#,##0.00)&quot;)" stage="format" /></inputs><onsuccess>6ed5e96a-3604-426e-b112-0be4f4f4b9a8</onsuccess></stage><stage stageid="59f040b8-35ab-48a1-8321-ab6d321172f4" name="cellref" type="Data"><subsheetid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="1867e11e-a153-4421-9512-848674ac9bea" name="format" type="Data"><subsheetid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</subsheetid><display x="-195" y="60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="f19aada3-d5b7-49ca-8f65-824a0be6abea" name="handle" type="Data"><subsheetid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="bc1c92c3-d8fd-4e00-86eb-cf22a3331a93" name="Format Current Cell" type="SubSheetInfo"><subsheetid>9b535bfc-4f80-4d7c-88b5-49b941688030</subsheetid><narrative>Sets a cell format for the currently active cell.</narrative><display x="-195" y="-105" w="180" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="7fea1a9b-6cad-487c-a1d4-0b7a31c0b1e6" name="Start" type="Start"><subsheetid>9b535bfc-4f80-4d7c-88b5-49b941688030</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the cell to be formatted is contained. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Cell Format" narrative="The format required for the cell - this can be the name of the default format (eg. &quot;General&quot;) or a sequence of formatting codes (eg. &quot;ÂŁ#,##0.00_);[Red](ÂŁ#,##0.00)&quot;)" stage="format" /></inputs><onsuccess>a8dd2eb1-5144-4f87-b5fc-87dc562df875</onsuccess></stage><stage stageid="936f31ef-fa8e-4960-aa8a-1653cc6d7de2" name="Get Active Cell" type="SubSheetInfo"><subsheetid>31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c</subsheetid><narrative>Gets a reference to the currently active cell on the given instance.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="b4a8f71f-cdb8-4091-99f6-f127fb3ec48d" name="Start" type="Start"><subsheetid>31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c</subsheetid><loginhibit /><display x="0" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the currently active cell is required. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>0f68d429-d637-41bc-ab1c-3890e4e57da6</onsuccess></stage><stage stageid="de4f91e6-efde-42cd-9efa-700811c74c15" name="End" type="End"><subsheetid>31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c</subsheetid><loginhibit /><display x="0" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Cell Reference" narrative="The reference identifying the currently active cell on the specified sheet." stage="cellref" /></outputs></stage><stage stageid="3251089f-0682-4cd7-84d1-78fd6a3f68db" name="handle" type="Data"><subsheetid>31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c</subsheetid><display x="-180" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="a88df339-9204-419b-9dd7-4553548f1dff" name="cellref" type="Data"><subsheetid>31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c</subsheetid><display x="-180" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0f68d429-d637-41bc-ab1c-3890e4e57da6" name="CheckInstanceHandle" type="SubSheet"><subsheetid>31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c</subsheetid><loginhibit /><display x="0" y="-90" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle representing the instance." expr="[handle]" /></inputs><onsuccess>0749822c-e521-461c-a3cc-23f5a695980b</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="0749822c-e521-461c-a3cc-23f5a695980b" name="GetActiveCell" type="Code"><subsheetid>31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c</subsheetid><loginhibit /><display x="0" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><outputs><output type="text" name="cellref" stage="cellref" /></outputs><onsuccess>de4f91e6-efde-42cd-9efa-700811c74c15</onsuccess><code><![CDATA[
cellref = GetInstance(handle).ActiveCell.Address(False,False)]]></code></stage><stage stageid="035e5e46-b65c-4bb5-8684-b433aa67ec7b" name="activatecell" type="Data"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><display x="-150" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>False</initialvalue><private /><alwaysinit /></stage><stage stageid="a47f3c07-957d-4909-bc43-4c56e5f58ae6" name="Activate Cell?" type="Decision"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><loginhibit /><display x="-15" y="45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[activatecell]" /><ontrue>e17eb74e-6764-4980-a96c-dd500de13181</ontrue><onfalse>65e26d12-b37e-4df9-a00b-07340967e5b2</onfalse></stage><stage stageid="e17eb74e-6764-4980-a96c-dd500de13181" name="Go To Cell" type="SubSheet"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><loginhibit /><display x="135" y="45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="Cell Reference" expr="[cellref]" /></inputs><onsuccess>23c196fc-bba5-4cc0-8e36-c8d6db96e360</onsuccess><processid>ed502669-4207-4c88-895d-8c58ec321578</processid></stage><stage stageid="23c196fc-bba5-4cc0-8e36-c8d6db96e360" name="anchor2" type="Anchor"><subsheetid>0b5de6c6-ed9a-443d-95b8-142dd521120e</subsheetid><loginhibit /><display x="135" y="105" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>65e26d12-b37e-4df9-a00b-07340967e5b2</onsuccess></stage><stage stageid="5c445c44-609a-45b3-8c4a-ff4a670213df" name="Go To Next Empty Cell Left" type="SubSheetInfo"><subsheetid>eaafa766-b0ce-4891-8e6e-de12d6283ae0</subsheetid><narrative>Activates the next empty cell that can be found on the left of the active cell.</narrative><display x="-210" y="-105" w="210" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="75944053-c0d7-42b9-9231-b173e13066f5" name="Start" type="Start"><subsheetid>eaafa766-b0ce-4891-8e6e-de12d6283ae0</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be found. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>10b0cef9-77af-42e0-b42e-6fc1870587a4</onsuccess></stage><stage stageid="63d50db2-a5f9-48a9-ae16-9a801712b53c" name="End" type="End"><subsheetid>eaafa766-b0ce-4891-8e6e-de12d6283ae0</subsheetid><loginhibit /><display x="-30" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Cell Reference" narrative="The reference of the cell which has been found to be empty - an empty value indicates that no empty cells were found." stage="cellref" /></outputs></stage><stage stageid="10b0cef9-77af-42e0-b42e-6fc1870587a4" name="Find Next Empty Cell" type="SubSheet"><subsheetid>eaafa766-b0ce-4891-8e6e-de12d6283ae0</subsheetid><loginhibit /><display x="-30" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be sought. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Direction" narrative="The direction in which the next empty cell is required. This should start with any of &quot;U&quot;, &quot;D&quot;, &quot;L&quot; or &quot;R&quot; to find a cell up, down, left or right respectively. The direction parameter is not case-sensitive." expr="&quot;L&quot;" /><input type="flag" name="Activate Cell?" narrative="True to activate the cell which is found; False to just return the reference and leave the active cell as it was before. Default is False." expr="True" /></inputs><outputs><output type="text" name="Cell Reference" narrative="The cell reference identifying the next empty cell from the active cell in the direction given. An empty value indicates that there were no empty cells between the active cell and a boundary." stage="cellref" /></outputs><onsuccess>63d50db2-a5f9-48a9-ae16-9a801712b53c</onsuccess><processid>0b5de6c6-ed9a-443d-95b8-142dd521120e</processid></stage><stage stageid="f6b88b10-a188-436b-830e-b7eaf783495c" name="handle" type="Data"><subsheetid>eaafa766-b0ce-4891-8e6e-de12d6283ae0</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="6b1312d6-de01-4272-b3cd-765b4835a9f2" name="cellref" type="Data"><subsheetid>eaafa766-b0ce-4891-8e6e-de12d6283ae0</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4ffa60dc-058f-4edc-9140-a43050494dee" name="Go To Next Empty Cell Right" type="SubSheetInfo"><subsheetid>d2d4c80d-3058-4d60-8e96-7b9b12f9ae58</subsheetid><narrative>Activates the next empty cell that can be found on the right of the active cell.</narrative><display x="-210" y="-105" w="210" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="78bf9f71-b3ba-4ef3-8142-08be21698287" name="Go To Next Empty Cell Up" type="SubSheetInfo"><subsheetid>5a78c1a5-e339-4f76-9203-d180bee31770</subsheetid><narrative>Activates the next empty cell that can be found above the active cell.</narrative><display x="-210" y="-105" w="210" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="0a069347-2e66-4668-ab57-b59e6536c5d0" name="Go To Next Empty Cell Down" type="SubSheetInfo"><subsheetid>82492075-b486-413c-9bd4-05eba466843e</subsheetid><narrative>Activates the next empty cell that can be found below the active cell.</narrative><display x="-210" y="-105" w="210" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="b3b21101-6815-4f78-b7af-06f0a73a4070" name="Start" type="Start"><subsheetid>d2d4c80d-3058-4d60-8e96-7b9b12f9ae58</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be found. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>782731b8-b7fb-4bec-8b35-b0438a5d8cec</onsuccess></stage><stage stageid="650fc617-bcbd-4d39-b835-748d94773ec6" name="End" type="End"><subsheetid>d2d4c80d-3058-4d60-8e96-7b9b12f9ae58</subsheetid><loginhibit /><display x="-30" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Cell Reference" narrative="The reference of the cell which has been found to be empty - an empty value indicates that no empty cells were found." stage="cellref" /></outputs></stage><stage stageid="782731b8-b7fb-4bec-8b35-b0438a5d8cec" name="Find Next Empty Cell" type="SubSheet"><subsheetid>d2d4c80d-3058-4d60-8e96-7b9b12f9ae58</subsheetid><loginhibit /><display x="-30" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be sought. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Direction" narrative="The direction in which the next empty cell is required. This should start with any of &quot;U&quot;, &quot;D&quot;, &quot;L&quot; or &quot;R&quot; to find a cell up, down, left or right respectively. The direction parameter is not case-sensitive." expr="&quot;R&quot;" /><input type="flag" name="Activate Cell?" narrative="True to activate the cell which is found; False to just return the reference and leave the active cell as it was before. Default is False." expr="True" /></inputs><outputs><output type="text" name="Cell Reference" narrative="The cell reference identifying the next empty cell from the active cell in the direction given. An empty value indicates that there were no empty cells between the active cell and a boundary." stage="cellref" /></outputs><onsuccess>650fc617-bcbd-4d39-b835-748d94773ec6</onsuccess><processid>0b5de6c6-ed9a-443d-95b8-142dd521120e</processid></stage><stage stageid="56afae5f-81d8-4fdc-b521-cb4b99fac5c3" name="handle" type="Data"><subsheetid>d2d4c80d-3058-4d60-8e96-7b9b12f9ae58</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="347d2c28-0ea0-4ed0-95ce-14e5925f7193" name="cellref" type="Data"><subsheetid>d2d4c80d-3058-4d60-8e96-7b9b12f9ae58</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4636685a-21dc-420d-ae4b-e435f9861298" name="Start" type="Start"><subsheetid>5a78c1a5-e339-4f76-9203-d180bee31770</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be found. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>c01227ef-86b5-48c4-8cbc-6db80b1df2c6</onsuccess></stage><stage stageid="c7e480b2-caf7-430d-b419-49c70c452c4f" name="End" type="End"><subsheetid>5a78c1a5-e339-4f76-9203-d180bee31770</subsheetid><loginhibit /><display x="-30" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Cell Reference" narrative="The reference of the cell which has been found to be empty - an empty value indicates that no empty cells were found." stage="cellref" /></outputs></stage><stage stageid="c01227ef-86b5-48c4-8cbc-6db80b1df2c6" name="Find Next Empty Cell" type="SubSheet"><subsheetid>5a78c1a5-e339-4f76-9203-d180bee31770</subsheetid><loginhibit /><display x="-30" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be sought. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Direction" narrative="The direction in which the next empty cell is required. This should start with any of &quot;U&quot;, &quot;D&quot;, &quot;L&quot; or &quot;R&quot; to find a cell up, down, left or right respectively. The direction parameter is not case-sensitive." expr="&quot;U&quot;" /><input type="flag" name="Activate Cell?" narrative="True to activate the cell which is found; False to just return the reference and leave the active cell as it was before. Default is False." expr="True" /></inputs><outputs><output type="text" name="Cell Reference" narrative="The cell reference identifying the next empty cell from the active cell in the direction given. An empty value indicates that there were no empty cells between the active cell and a boundary." stage="cellref" /></outputs><onsuccess>c7e480b2-caf7-430d-b419-49c70c452c4f</onsuccess><processid>0b5de6c6-ed9a-443d-95b8-142dd521120e</processid></stage><stage stageid="2d6e7e4e-d6f5-45b7-b4ae-33658d6d38fd" name="handle" type="Data"><subsheetid>5a78c1a5-e339-4f76-9203-d180bee31770</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="287aee08-8696-49f9-b659-244e88067d0a" name="cellref" type="Data"><subsheetid>5a78c1a5-e339-4f76-9203-d180bee31770</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4791458d-f683-4adf-ad1c-1591b3d2fab2" name="Start" type="Start"><subsheetid>82492075-b486-413c-9bd4-05eba466843e</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be found. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>072dae62-8d0d-4522-904c-6d253988874d</onsuccess></stage><stage stageid="b90c78f9-6a37-4db4-b30f-ac96d30c730c" name="End" type="End"><subsheetid>82492075-b486-413c-9bd4-05eba466843e</subsheetid><loginhibit /><display x="-30" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Cell Reference" narrative="The reference of the cell which has been found to be empty - an empty value indicates that no empty cells were found." stage="cellref" /></outputs></stage><stage stageid="072dae62-8d0d-4522-904c-6d253988874d" name="Find Next Empty Cell" type="SubSheet"><subsheetid>82492075-b486-413c-9bd4-05eba466843e</subsheetid><loginhibit /><display x="-30" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be sought. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Direction" narrative="The direction in which the next empty cell is required. This should start with any of &quot;U&quot;, &quot;D&quot;, &quot;L&quot; or &quot;R&quot; to find a cell up, down, left or right respectively. The direction parameter is not case-sensitive." expr="&quot;D&quot;" /><input type="flag" name="Activate Cell?" narrative="True to activate the cell which is found; False to just return the reference and leave the active cell as it was before. Default is False." expr="True" /></inputs><outputs><output type="text" name="Cell Reference" narrative="The cell reference identifying the next empty cell from the active cell in the direction given. An empty value indicates that there were no empty cells between the active cell and a boundary." stage="cellref" /></outputs><onsuccess>b90c78f9-6a37-4db4-b30f-ac96d30c730c</onsuccess><processid>0b5de6c6-ed9a-443d-95b8-142dd521120e</processid></stage><stage stageid="c9e817ca-81d1-4d65-b9d1-27fe80445871" name="handle" type="Data"><subsheetid>82492075-b486-413c-9bd4-05eba466843e</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="1f9a80c2-fd03-43e2-a333-5f2c6b7ad0e2" name="cellref" type="Data"><subsheetid>82492075-b486-413c-9bd4-05eba466843e</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="febdcc05-5a8a-4445-a188-d0259dfd21a5" name="handle" type="Data"><subsheetid>9b535bfc-4f80-4d7c-88b5-49b941688030</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="9cbae4e4-6b41-4a38-a05e-0dc4df5d25a3" name="End" type="End"><subsheetid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</subsheetid><loginhibit /><display x="-45" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="111cd676-ae8c-4b83-9bb1-5567fe0735bd" name="FormatCell" type="Code"><subsheetid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</subsheetid><loginhibit /><display x="-45" y="-15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="cellref" expr="[cellref]" /><input type="text" name="format" expr="[format]" /><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>9cbae4e4-6b41-4a38-a05e-0dc4df5d25a3</onsuccess><code><![CDATA[
GetWorkbook(handle,Nothing).ActiveSheet.Range(cellref,cellref).NumberFormat = format]]></code></stage><stage stageid="6ed5e96a-3604-426e-b112-0be4f4f4b9a8" name="Activate Workbook" type="SubSheet"><subsheetid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</subsheetid><loginhibit /><display x="-45" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook should be activated. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Workbook Name" narrative="The workbook name identifying the workbook which should be activated - empty text indicates the currently active workbook, making this a no-op." expr="&quot;&quot;" /></inputs><onsuccess>111cd676-ae8c-4b83-9bb1-5567fe0735bd</onsuccess><processid>6632ed99-8751-4c2a-ad00-3cc016300e08</processid></stage><stage stageid="a8dd2eb1-5144-4f87-b5fc-87dc562df875" name="Get Active Cell" type="SubSheet"><subsheetid>9b535bfc-4f80-4d7c-88b5-49b941688030</subsheetid><loginhibit /><display x="-30" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the currently active cell is required. The default of zero indicates the currently active instance." expr="[handle]" /></inputs><outputs><output type="text" name="Cell Reference" narrative="The reference identifying the currently active cell on the specified sheet." stage="cellref" /></outputs><onsuccess>22a903ea-24b0-4f4b-ad3d-590aa6ab3d97</onsuccess><processid>31ed0ec6-5d0f-4f9e-90c8-1fb7e73e5d5c</processid></stage><stage stageid="8480e1e0-5e73-4bec-bc84-ab2b4a5f43fa" name="cellref" type="Data"><subsheetid>9b535bfc-4f80-4d7c-88b5-49b941688030</subsheetid><display x="120" y="-105" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="22a903ea-24b0-4f4b-ad3d-590aa6ab3d97" name="Format Cell" type="SubSheet"><subsheetid>9b535bfc-4f80-4d7c-88b5-49b941688030</subsheetid><loginhibit /><display x="-30" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the cell to be formatted is contained. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Cell Reference" narrative="The reference to the cell whose format should be changed." expr="[cellref]" /><input type="text" name="Cell Format" narrative="The format required for the cell - this can be the name of the default format (eg. &quot;General&quot;) or a sequence of formatting codes (eg. &quot;ÂŁ#,##0.00_);[Red](ÂŁ#,##0.00)&quot;)" expr="[format]" /></inputs><onsuccess>2776814b-74bd-42b3-b282-80a156b933cd</onsuccess><processid>a031ba9a-3bd2-49b3-8d9b-6f982b34eb3c</processid></stage><stage stageid="dc6c799a-7fa3-4623-9bf8-e966d530b67d" name="format" type="Data"><subsheetid>9b535bfc-4f80-4d7c-88b5-49b941688030</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2776814b-74bd-42b3-b282-80a156b933cd" name="End3" type="End"><subsheetid>9b535bfc-4f80-4d7c-88b5-49b941688030</subsheetid><loginhibit /><display x="-30" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="04fbbbb0-aba9-4518-8bc7-d26273986f9e" name="Set Window Size" type="SubSheetInfo"><subsheetid>39374841-edab-4ea9-86d9-5f2fff3f1a5f</subsheetid><narrative>Sets the window size of the specified instance.</narrative><display x="-195" y="-105" w="180" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="7a197c45-c253-4fb8-bed5-e01508e93824" name="Start" type="Start"><subsheetid>39374841-edab-4ea9-86d9-5f2fff3f1a5f</subsheetid><loginhibit /><display x="-15" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle specifying the instance on which the bounds should be changed." stage="handle" /><input type="number" name="Width" narrative="The width to which the instance's window should be set" stage="width" /><input type="number" name="Height" narrative="The height to which the instance's window should be set." stage="height" /></inputs><onsuccess>3d73ff94-84e6-4e12-947e-76d14884579c</onsuccess></stage><stage stageid="a952606a-38e1-4585-821a-7395c94d70cb" name="End" type="End"><subsheetid>39374841-edab-4ea9-86d9-5f2fff3f1a5f</subsheetid><loginhibit /><display x="-15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="d4c82574-5577-49e8-80a8-79a27ace5ffb" name="Set Window Location" type="SubSheetInfo"><subsheetid>904eeb0d-e6a2-408b-99b5-621307252585</subsheetid><narrative>Moves the specified instance's window to the required location.</narrative><display x="-195" y="-105" w="180" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="67ee4120-06af-41a6-ae0a-629e1bd3bd05" name="Start" type="Start"><subsheetid>904eeb0d-e6a2-408b-99b5-621307252585</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance whose window location should be set." stage="handle" /><input type="number" name="X" narrative="The x co-ordinate to which the window should be moved." stage="x" /><input type="number" name="Y" narrative="The y co-ordinate to which the window should be moved." stage="y" /></inputs><onsuccess>3f663a38-1c01-438f-a02a-aa56ded74764</onsuccess></stage><stage stageid="5b24c512-8930-4c34-9083-7834083ab65c" name="End" type="End"><subsheetid>904eeb0d-e6a2-408b-99b5-621307252585</subsheetid><loginhibit /><display x="-30" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="129fe5f1-311c-4b58-964f-74b62d5f17ad" name="Set Window State" type="SubSheetInfo"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><narrative>Minimizes / maximizes / restores the window attached to the specified excel instance.

Exceptions:
Invalid Input Parameter : If the given state was not "normal" and did not start with either "min" or "max"</narrative><display x="-240" y="-105" w="270" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="44e95a42-ad61-4e8d-af8a-aed037662ba8" name="Go To Next Cell" type="SubSheetInfo"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><narrative>Moves a specified number of rows and columns from the currently active cell and returns the new cell reference.
If the resultant cell reference is the same as the active cell before this action was called, this action has 'failed'. This is usually because the active cell is too close to a boundary.</narrative><display x="-330" y="-135" w="420" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="a87664dd-017d-4b12-b9c3-7230d7910326" name="Start" type="Start"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><loginhibit /><display x="-45" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be navigated to. The default of zero indicates the currently active instance." stage="handle" /><input type="number" name="Rows" narrative="The number of rows to navigate down. A negative value indicates that the action should navigate UP the required number of rows." stage="rows" /><input type="number" name="Columns" narrative="The number of columns to navigate to the right. A negative value indicates that the action should navigate to the left." stage="cols" /></inputs><onsuccess>fdbdccce-2959-40cb-b4b4-d53556dd97a1</onsuccess></stage><stage stageid="dcae25b1-7e8b-4ee2-9ffc-11aacd935154" name="Close Current Workbook" type="SubSheetInfo"><subsheetid>efe9d5bd-c8f0-42e1-aadc-6c7b0bfdd92c</subsheetid><narrative>Closes the current workbook on the current excel instance.
This is the equivalent of calling the 'Close Workbook' action with the default values for 'handle' (0) and 'Workbook Name' ("")</narrative><display x="-210" y="-105" w="210" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="8fccb8ba-397f-406d-a6cd-85cb3c09ba17" name="Start" type="Start"><subsheetid>efe9d5bd-c8f0-42e1-aadc-6c7b0bfdd92c</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook which should be closed resides. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>9dbc3256-ac5d-4bb3-880c-a4aaaaf33bc5</onsuccess></stage><stage stageid="160a79e4-be77-47f7-b8f2-271a170a762f" name="End" type="End"><subsheetid>efe9d5bd-c8f0-42e1-aadc-6c7b0bfdd92c</subsheetid><loginhibit /><display x="-30" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="9dbc3256-ac5d-4bb3-880c-a4aaaaf33bc5" name="Close Workbook" type="SubSheet"><subsheetid>efe9d5bd-c8f0-42e1-aadc-6c7b0bfdd92c</subsheetid><loginhibit /><display x="-30" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="Workbook Name" expr="&quot;&quot;" /><input type="flag" name="Save Data" expr="False" /></inputs><onsuccess>160a79e4-be77-47f7-b8f2-271a170a762f</onsuccess><processid>6ccaae8b-c06f-45c8-8772-835218881458</processid></stage><stage stageid="a9a3eac3-7c04-4983-9224-bbf490c75af1" name="handle" type="Data"><subsheetid>efe9d5bd-c8f0-42e1-aadc-6c7b0bfdd92c</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="00fbd16c-c443-4d2e-ae2a-4539f816c297" name="rows" type="Data"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2fa354e6-61e2-452d-b0c4-208150e9076d" name="cols" type="Data"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><display x="-195" y="60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="50344da8-13a3-4d20-899b-bfd3b5507681" name="End" type="End"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><loginhibit /><display x="-45" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Cell Reference" narrative="The reference of the currently active cell after navigating the required number of rows / columns. If the action could not navigate the desired number of rows / columns (eg. the active cell is near a boundary), then the active cell will not have been change, and this cell reference will represent the same cell that was active before this action was initiated." stage="cellref" /></outputs></stage><stage stageid="30a3c6c6-5324-4fe2-a0b2-3026f1a5e379" name="GoToNextCell" type="Code"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><loginhibit /><display x="-45" y="-15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="number" name="cols" expr="[cols]" /><input type="number" name="rows" expr="[rows]" /></inputs><outputs><output type="text" name="cellref" stage="cellref" /></outputs><onsuccess>50344da8-13a3-4d20-899b-bfd3b5507681</onsuccess><code><![CDATA[
Dim Instance As Object = GetInstance(handle)

If Instance.ActiveCell Is Nothing Then
	Dim wb As Object = Instance.ActiveWorkBook 
	If wb IsNot Nothing Then
		Dim ws As Object = wb.ActiveSheet
		If ws IsNot Nothing Then
			ws.Range(1,1).Activate()
		Else
			Throw New Exception("There is no active worksheet")
		End If
	Else
		Throw New Exception("There is no active workbook")
	End If
Else
	Try
		Instance.ActiveCell.Offset(rows,cols).Activate()
	Catch ex As Exception
	End Try
End If
cellref = Instance.ActiveCell.Address(False,False)
]]></code></stage><stage stageid="fdbdccce-2959-40cb-b4b4-d53556dd97a1" name="Activate Workbook" type="SubSheet"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><loginhibit /><display x="-45" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook should be activated. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Workbook Name" narrative="The workbook name identifying the workbook which should be activated - empty text indicates the currently active workbook, making this a no-op." expr="&quot;&quot;" /></inputs><onsuccess>30a3c6c6-5324-4fe2-a0b2-3026f1a5e379</onsuccess><processid>6632ed99-8751-4c2a-ad00-3cc016300e08</processid></stage><stage stageid="5742c4d1-0b40-4dd9-8cf0-e66b9adeab4b" name="handle" type="Data"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="437bf59c-d85b-45c9-8828-2e2c665afd10" name="cellref" type="Data"><subsheetid>b0b877cd-07ce-4df1-a63b-89fa4d315c4c</subsheetid><display x="105" y="60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="dc5149d8-0c99-413a-81c8-ba9efc719cdc" name="handle" type="Data"><subsheetid>39374841-edab-4ea9-86d9-5f2fff3f1a5f</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="a87fd94f-f26f-4c2e-bb67-1ae4c0bed939" name="width" type="Data"><subsheetid>39374841-edab-4ea9-86d9-5f2fff3f1a5f</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="59a65ce5-cfb1-4190-8449-e4fb5ced121a" name="height" type="Data"><subsheetid>39374841-edab-4ea9-86d9-5f2fff3f1a5f</subsheetid><display x="-195" y="60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3d73ff94-84e6-4e12-947e-76d14884579c" name="CheckInstanceHandle" type="SubSheet"><subsheetid>39374841-edab-4ea9-86d9-5f2fff3f1a5f</subsheetid><loginhibit /><display x="-15" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle representing the instance." expr="[handle]" /></inputs><onsuccess>82380eea-db5c-47b3-9a94-2e19338cca95</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="82380eea-db5c-47b3-9a94-2e19338cca95" name="SetWindowSize" type="Code"><subsheetid>39374841-edab-4ea9-86d9-5f2fff3f1a5f</subsheetid><loginhibit /><display x="-15" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="number" name="height" expr="[height]" /><input type="number" name="width" expr="[width]" /></inputs><onsuccess>a952606a-38e1-4585-821a-7395c94d70cb</onsuccess><code><![CDATA[Dim excel as Object = GetInstance(handle)

excel.WindowState = -4143 'Excel.XlWindowState.xlNormal
excel.Width = width
excel.Height = height]]></code></stage><stage stageid="8acfecd0-d6d9-4de0-ae9e-46922ed73111" name="x" type="Data"><subsheetid>904eeb0d-e6a2-408b-99b5-621307252585</subsheetid><display x="-195" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b68bc93f-161f-4d6f-825d-2d961690ca56" name="y" type="Data"><subsheetid>904eeb0d-e6a2-408b-99b5-621307252585</subsheetid><display x="-195" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="079ee65b-a90b-4ab6-81b5-801557c07fbf" name="handle" type="Data"><subsheetid>904eeb0d-e6a2-408b-99b5-621307252585</subsheetid><display x="-195" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="3f663a38-1c01-438f-a02a-aa56ded74764" name="CheckInstanceHandle" type="SubSheet"><subsheetid>904eeb0d-e6a2-408b-99b5-621307252585</subsheetid><loginhibit /><display x="-30" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle representing the instance." expr="[handle]" /></inputs><onsuccess>12d30538-38bf-4f9b-a180-41d0b836854c</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="12d30538-38bf-4f9b-a180-41d0b836854c" name="SetWindowLocation" type="Code"><subsheetid>904eeb0d-e6a2-408b-99b5-621307252585</subsheetid><loginhibit /><display x="-30" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="number" name="x" expr="[x]" /><input type="number" name="y" expr="[y]" /></inputs><onsuccess>5b24c512-8930-4c34-9083-7834083ab65c</onsuccess><code><![CDATA[Dim excel as Object = GetInstance(handle)

excel.WindowState = -4143 'Excel.XlWindowState.xlNormal
excel.Left = x
excel.Top = y]]></code></stage><stage stageid="016d76a7-6a95-485e-84f5-faa85a0c0712" name="Start" type="Start"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><loginhibit /><display x="-30" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance whose window state should be set." stage="handle" /><input type="text" name="State" narrative="The state of the window which is required. Should start with &quot;min&quot; (to minimize the window), &quot;max&quot; (to maximise the window) or it should equal &quot;normal&quot; (to restore the window). Anything else will result in an error." stage="state" /></inputs><onsuccess>0f8fc913-9174-4304-823f-d18ffae7217a</onsuccess></stage><stage stageid="ffe49fc1-13a2-4e84-a649-bd692ef7752a" name="End" type="End"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><loginhibit /><display x="-30" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="ca7b06cd-e6e3-42e1-8980-cb429796aa3b" name="handle" type="Data"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><display x="-195" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="3db578f3-47a7-4150-9ccc-6f9a16dbe73f" name="CheckInstanceHandle" type="SubSheet"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><loginhibit /><display x="-30" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle representing the instance." expr="[handle]" /></inputs><onsuccess>458615b7-ea0b-4d96-9dce-87099d6e5950</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="458615b7-ea0b-4d96-9dce-87099d6e5950" name="SetWindowState" type="Code"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><loginhibit /><display x="-30" y="45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="state" expr="[state]" /></inputs><onsuccess>ffe49fc1-13a2-4e84-a649-bd692ef7752a</onsuccess><code><![CDATA[Dim excel as Object = GetInstance(handle)

If state.ToLower().StartsWith("min") Then
	excel.WindowState = -4140
ElseIf state.ToLower().StartsWith("max") Then
	excel.WindowState = -4137
ElseIf state.ToLower() = "normal" Then
	excel.WindowState = -4143
End If]]></code></stage><stage stageid="4686174e-a845-4f2b-9a0a-70325a2df399" name="Valid State?" type="Decision"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><loginhibit /><narrative>Checks if the given state is a valid value</narrative><display x="-30" y="-45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="StartsWith([state],&quot;max&quot;) or StartsWith([state],&quot;min&quot;) or [state]=&quot;normal&quot;" /><ontrue>3db578f3-47a7-4150-9ccc-6f9a16dbe73f</ontrue><onfalse>c0e54c49-a9fc-48c4-a54e-2b85581d4ba5</onfalse></stage><stage stageid="1537f595-55fc-4726-910a-1d5ef88bf7a4" name="state" type="Data"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><display x="-195" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c0e54c49-a9fc-48c4-a54e-2b85581d4ba5" name="Invalid State Exception" type="Exception"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><display x="135" y="-45" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="Invalid Input Parameter" detail="&quot;Invalid Window State Parameter : &quot; &amp; [state] &amp; &quot; - must start with 'min', 'max' or equal 'normal'&quot;" /></stage><stage stageid="9d0e19ce-07b8-4074-a34c-6186bcd3ca77" name="newworkbookname" type="Data"><subsheetid>81b9e5cd-a91d-4a33-bc23-1602c5fe878f</subsheetid><display x="-195" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="04e9d703-4b1c-4196-b1ff-7bf68a12faae" name="newworkbookname" type="Data"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><narrative>The new workbook name assigned by Excel after saving the book</narrative><display x="-135" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9ab01750-1bb3-4299-add0-8a1d08f6bf41" name="handle" type="Data"><subsheetid>81b9e5cd-a91d-4a33-bc23-1602c5fe878f</subsheetid><display x="-195" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="f778bc6c-8cdd-4e56-80b8-b7cdb1fd11ae" name="Release Instance" type="SubSheetInfo"><subsheetid>4fb11e41-83d8-461d-8c0d-04cdd2f670e2</subsheetid><narrative>Removes an instance from this business object *without* closing or quitting it - after running this action, the instance in question will not be accessible by this object unless it is re-attached to using 'Open Instance'.

Params:
- handle : Number : The handle of the instance to be released. The default of 0 indicates the currently active instance. Note that following the current instance being released, the current instance will not be set.

Exceptions:
- Bad Handle : If the given handle did not correspond to an instance.
</narrative><display x="-240" y="-135" w="360" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="66fece2a-2c82-48bb-92fe-211ee6556a24" name="Start" type="Start"><subsheetid>4fb11e41-83d8-461d-8c0d-04cdd2f670e2</subsheetid><loginhibit /><preconditions><condition narrative="" /><condition narrative="" /></preconditions><display x="15" y="-195" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance to be released. The default value of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>1d0738a9-7841-446d-b3ed-1a4bafeccc1b</onsuccess></stage><stage stageid="dc556131-4dde-459f-9af8-8c854fcae760" name="End" type="End"><subsheetid>4fb11e41-83d8-461d-8c0d-04cdd2f670e2</subsheetid><loginhibit /><display x="15" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="6da262c1-9a82-4bc8-9363-ede171f125e5" name="handle" type="Data"><subsheetid>4fb11e41-83d8-461d-8c0d-04cdd2f670e2</subsheetid><display x="-225" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="1d0738a9-7841-446d-b3ed-1a4bafeccc1b" name="CheckInstanceHandle" type="SubSheet"><subsheetid>4fb11e41-83d8-461d-8c0d-04cdd2f670e2</subsheetid><loginhibit /><display x="15" y="-150" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>2e67a2b9-10bf-4d4d-9bd9-db68edaf7662</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="2e67a2b9-10bf-4d4d-9bd9-db68edaf7662" name="Release Instance" type="Code"><subsheetid>4fb11e41-83d8-461d-8c0d-04cdd2f670e2</subsheetid><loginhibit /><display x="15" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>dc556131-4dde-459f-9af8-8c854fcae760</onsuccess><code><![CDATA[
	Dim current as Object = CurrentInstance
	Dim inst as Object = GetInstance(handle) ' Careful - sets the 'current instance' to inst

	HandleMap.Remove(handle)
	InstanceMap.Remove(inst)

	If Object.ReferenceEquals(inst, current) Then
		CurrentInstance = Nothing
	Else
		CurrentInstance = current
	End If
]]></code></stage><stage stageid="0f04ef58-eacb-4204-ba2b-d073285c2be8" name="Note1" type="Note"><subsheetid>859e3c31-acbc-48dd-8535-ef2ce9385d70</subsheetid><loginhibit /><narrative>Don't need to anything - a side-effect of the check is to set the current instance... makes it simple.</narrative><display x="150" y="-120" w="150" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="f0ee2a73-65b2-418e-8b77-6dc802046c5d" name="Attach" type="SubSheetInfo"><subsheetid>7ad81501-44a1-48ab-94fd-9b2c35ed20b8</subsheetid><narrative>Back-compatible link to 'Open Instance'. This opens the first running instance of Excel found and links to it in this object.

Returns:
- handle : Number : An integer with which the instance opened can be identified.
- Enable Events : Flag : Indicates that events should be enabled / disabled on the attached instance - defaulted to True</narrative><display x="-210" y="-120" w="240" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="92e3475b-ed7d-4ae1-940c-7eb554a7cea8" name="Start" type="Start"><subsheetid>7ad81501-44a1-48ab-94fd-9b2c35ed20b8</subsheetid><loginhibit /><display x="-15" y="-150" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="flag" name="Enable Events" narrative="Flag to indicate that events should be enabled / disabled on the attached instance - defaulted to True" stage="Enable Events" /></inputs><onsuccess>ba67509b-7301-4ce1-a467-e9970249b392</onsuccess></stage><stage stageid="c74db74c-8822-4391-8593-d9919e357a5b" name="End" type="End"><subsheetid>7ad81501-44a1-48ab-94fd-9b2c35ed20b8</subsheetid><loginhibit /><display x="-15" y="-15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="number" name="handle" narrative="The integer handle which identifies the excel instance in subsequent actions" stage="handle" /></outputs></stage><stage stageid="f68ab231-3cbb-423e-84de-9103b9f971f4" name="handle" type="Data"><subsheetid>7ad81501-44a1-48ab-94fd-9b2c35ed20b8</subsheetid><display x="-195" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ba67509b-7301-4ce1-a467-e9970249b392" name="Open Instance" type="SubSheet"><subsheetid>7ad81501-44a1-48ab-94fd-9b2c35ed20b8</subsheetid><loginhibit /><display x="-15" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="Workbook Name" narrative="The name of the workbook which should be opened. An empty value indicates that the first activated instance of Excel should be opened." expr="&quot;&quot;" /><input type="flag" name="Enable Events?" narrative="Flag to indicate whether events (ie. macros) should be enabled on the given instance. Default is True" expr="[Enable Events]" /></inputs><outputs><output type="number" name="handle" narrative="The integer handle with which the instance can be identified in later actions." stage="handle" /></outputs><onsuccess>c74db74c-8822-4391-8593-d9919e357a5b</onsuccess><processid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</processid></stage><stage stageid="fa5aede4-db23-4781-8954-3baaf0fd0740" name="Attach to workbook" type="SubSheetInfo"><subsheetid>2b3544ad-af96-4f40-9b50-16dfbe0600f1</subsheetid><narrative>Back compatible link to 'Open instance' - attaches to the excel instance containing the current workbook. Note that if the instance containing the workbook could not be found, a new instance will be created.

Params:
- File name : Text : The name of the file in the instance that should be opened.
- Enable Events : Flag : Indicates that events should be enabled / disabled on the attached instance - defaulted to True
Returns:
- handle : Number : The integer that can be used to reference this instance later.</narrative><display x="-195" y="-135" w="390" h="150" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="431ac081-4d84-414a-80dd-cb137dd67a73" name="Start" type="Start"><subsheetid>2b3544ad-af96-4f40-9b50-16dfbe0600f1</subsheetid><loginhibit /><preconditions><condition narrative="" /></preconditions><display x="60" y="-195" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="File name" narrative="The name of the file which should be opened" stage="filename" /><input type="flag" name="Enable Events" narrative="Flag to indicate that events should be enabled / disabled on the attached instance - defaulted to True" stage="Enable Events" /></inputs><onsuccess>4a719c51-85b9-4750-9593-bf0e3166edfc</onsuccess></stage><stage stageid="ba3c2775-b5ac-44a8-be6b-05befaea619b" name="End" type="End"><subsheetid>2b3544ad-af96-4f40-9b50-16dfbe0600f1</subsheetid><loginhibit /><display x="60" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="number" name="handle" narrative="The integer handle indentifying the instance opened. This can be used in subsequent actions to identify the instance." stage="handle" /></outputs></stage><stage stageid="0283fb0e-8dda-4956-b434-ea1d6c99e063" name="handle" type="Data"><subsheetid>2b3544ad-af96-4f40-9b50-16dfbe0600f1</subsheetid><display x="-195" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4a719c51-85b9-4750-9593-bf0e3166edfc" name="Open Instance" type="SubSheet"><subsheetid>2b3544ad-af96-4f40-9b50-16dfbe0600f1</subsheetid><loginhibit /><display x="60" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="Workbook Name" narrative="The name of the workbook which should be opened. An empty value indicates that the first activated instance of Excel should be opened." expr="[filename]" /><input type="flag" name="Enable Events?" narrative="Flag to indicate whether events (ie. macros) should be enabled on the given instance. Default is True" expr="[Enable Events]" /></inputs><outputs><output type="number" name="handle" narrative="The integer handle with which the instance can be identified in later actions." stage="handle" /></outputs><onsuccess>ba3c2775-b5ac-44a8-be6b-05befaea619b</onsuccess><processid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</processid></stage><stage stageid="c99c412d-dbb6-4a6a-a7e2-9834a74052d0" name="filename" type="Data"><subsheetid>2b3544ad-af96-4f40-9b50-16dfbe0600f1</subsheetid><display x="-195" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9a734ecf-7e58-4aa4-b7ff-5aa4494ec687" name="cellref empty?" type="Decision"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><loginhibit /><display x="15" y="-90" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[cellref]=&quot;&quot;" /><ontrue>bed65abf-b1ad-4f7e-83be-c8a96e3ea162</ontrue><onfalse>39135f99-dd54-4a2b-bff2-555714753a6d</onfalse></stage><stage stageid="bed65abf-b1ad-4f7e-83be-c8a96e3ea162" name="anchor3" type="Anchor"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><loginhibit /><display x="105" y="-90" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>b98f8e72-e995-42a4-b3f9-df0acf2a5944</onsuccess></stage><stage stageid="b98f8e72-e995-42a4-b3f9-df0acf2a5944" name="anchor4" type="Anchor"><subsheetid>0e031661-2f5e-4cb2-949b-97babe59ff81</subsheetid><loginhibit /><display x="105" y="0" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>a04a5ea1-798c-4659-ac77-0c966c305cba</onsuccess></stage><stage stageid="250bb1db-ca8e-4edb-b9a4-52fa39261823" name="Go To Cell" type="SubSheet"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><loginhibit /><display x="15" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required cell should be navigated to. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Cell Reference" narrative="The cell reference on the currently active sheet within the specified instance which should be navigated to." expr="[cellref]" /></inputs><onsuccess>94dc11fe-505e-4544-a26b-80d3d88d0951</onsuccess><processid>ed502669-4207-4c88-895d-8c58ec321578</processid></stage><stage stageid="29427d7f-a2d9-4b65-b6c4-773881bd285d" name="cellref empty?" type="Decision"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><loginhibit /><display x="15" y="-90" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[cellref]=&quot;&quot;" /><ontrue>e743b184-cb2f-43cb-83c1-b99654286d3d</ontrue><onfalse>250bb1db-ca8e-4edb-b9a4-52fa39261823</onfalse></stage><stage stageid="e743b184-cb2f-43cb-83c1-b99654286d3d" name="anchor3" type="Anchor"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><loginhibit /><display x="105" y="-90" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>dea637ce-5933-4805-94a4-f2bbd9b99d0b</onsuccess></stage><stage stageid="dea637ce-5933-4805-94a4-f2bbd9b99d0b" name="anchor4" type="Anchor"><subsheetid>17f8ab72-203a-42d4-a59b-a073ccd57bb0</subsheetid><loginhibit /><display x="105" y="0" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>94dc11fe-505e-4544-a26b-80d3d88d0951</onsuccess></stage><stage stageid="bcf597f1-97f7-449c-8865-ff8ca139dd6c" name="Get Active Cell Value" type="SubSheetInfo"><subsheetid>d96215cc-750e-4616-8852-1d4d44a9f21b</subsheetid><narrative>Gets the value of the currently active cell.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="b69207e1-2811-4150-a61f-4746ef8489d4" name="Start" type="Start"><subsheetid>d96215cc-750e-4616-8852-1d4d44a9f21b</subsheetid><loginhibit /><display x="-45" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the cell whose value is required resides. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>af8aab5e-4539-4acc-a5cc-1bd632282587</onsuccess></stage><stage stageid="73e8408e-ff97-4d9f-b0e0-5a0e844b731c" name="End" type="End"><subsheetid>d96215cc-750e-4616-8852-1d4d44a9f21b</subsheetid><loginhibit /><display x="-45" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Value" narrative="The (unformatted) value found at the specified cell." stage="Value" /></outputs></stage><stage stageid="af8aab5e-4539-4acc-a5cc-1bd632282587" name="Get Active Cell Value" type="SubSheet"><subsheetid>d96215cc-750e-4616-8852-1d4d44a9f21b</subsheetid><loginhibit /><display x="-45" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance from which the required cell value should be retrieved. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Cell Reference" narrative="The cell reference indicating which cell's value should be retrieved. An empty value indicates that the currently active cell's value should be retrieved." expr="&quot;&quot;" /></inputs><outputs><output type="text" name="Value" narrative="The (unformatted) value from the required cell." stage="Value" /></outputs><onsuccess>73e8408e-ff97-4d9f-b0e0-5a0e844b731c</onsuccess><processid>0e031661-2f5e-4cb2-949b-97babe59ff81</processid></stage><stage stageid="88d7196d-2443-4439-8261-6700e9673d0a" name="handle" type="Data"><subsheetid>d96215cc-750e-4616-8852-1d4d44a9f21b</subsheetid><display x="-195" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="e4cdc61b-a1e1-461e-8d91-a98cd40a2c5a" name="Value" type="Data"><subsheetid>d96215cc-750e-4616-8852-1d4d44a9f21b</subsheetid><display x="-195" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="69cd13bc-f818-4a5b-be64-b6fb7de62c61" name="Create Worksheet" type="SubSheetInfo"><subsheetid>f78a5f80-c2d5-4e9b-ae08-a56fb8007b18</subsheetid><narrative>Creates a new worksheet in the specified workbook with the given name. If a sheet with the given name already exists, this will activate that sheet.

Params:
- handle : Number : The number identifying the instance required.
- Workbook Name : Text : The name of the workbook to add it to. An empty string (the default) indicates the active workbook in the instance.
- Worksheet Name : Text : The name of the worksheet that is required. Note that if the name matches a worksheet already in the workbook a new worksheet will not be created, but that worksheet will be activated.

Exceptions: 
- Bad Handle : If the given handle did not correspond to an instance.
- Workbook Not Found : If the given workbook did not exist on the specified instance.</narrative><display x="-285" y="-165" w="420" h="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="2a0c385f-fe76-4eb3-a36f-4936eb7ac84a" name="Start" type="Start"><subsheetid>f78a5f80-c2d5-4e9b-ae08-a56fb8007b18</subsheetid><loginhibit /><display x="-30" y="-240" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the worksheet should be created. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook in which the sheet should be created - The default empty value indicates the currently active workbook on the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the sheet which should be activated. The default empty text value indicates that the currently active sheet should be, er, activated, making this a no-op." stage="worksheetname" /></inputs><onsuccess>89240340-492e-44ab-9fed-c64a6d3fffdf</onsuccess></stage><stage stageid="5d624e42-813e-467d-bda1-ebb3e410045c" name="End" type="End"><subsheetid>f78a5f80-c2d5-4e9b-ae08-a56fb8007b18</subsheetid><loginhibit /><display x="-30" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="89240340-492e-44ab-9fed-c64a6d3fffdf" name="Activate Worksheet" type="SubSheet"><subsheetid>f78a5f80-c2d5-4e9b-ae08-a56fb8007b18</subsheetid><loginhibit /><display x="-30" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="Workbook Name" expr="[workbookname]" /><input type="flag" name="Create If Missing?" expr="True" /><input type="text" name="Worksheet Name" expr="[worksheetname]" /></inputs><onsuccess>5d624e42-813e-467d-bda1-ebb3e410045c</onsuccess><processid>733c2840-8162-465a-a8f2-7d023087c369</processid></stage><stage stageid="ab7509fd-0572-44d9-9050-b9c9907c49ac" name="handle" type="Data"><subsheetid>f78a5f80-c2d5-4e9b-ae08-a56fb8007b18</subsheetid><display x="-195" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="544db1ef-b84c-403c-b4ee-de2d660ec253" name="worksheetname" type="Data"><subsheetid>f78a5f80-c2d5-4e9b-ae08-a56fb8007b18</subsheetid><display x="-195" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="df17296d-4f63-46cf-bcd9-4acd7eefed34" name="workbookname" type="Data"><subsheetid>f78a5f80-c2d5-4e9b-ae08-a56fb8007b18</subsheetid><display x="-195" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="64089c9a-4a30-4db5-bf87-7ba017ba54e7" name="Write Collection" type="SubSheetInfo"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><narrative>Writes the given collection into the specified sheet.</narrative><display x="-195" y="-105" w="180" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="a1ab274b-c2fb-47c7-94f8-292590df5765" name="Start" type="Start"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><loginhibit /><display x="45" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the specified collection should be written. The default of zero indicates the currently active instance." stage="handle" /><input type="collection" name="Collection" narrative="The collection containing the data which should be written to the worksheet." stage="collection" /><input type="text" name="Workbook Name" narrative="The name of the workbook within which the data should be written. The default empty value indicates the current workbook within the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet on which the given data should be written. The default empty value indicates the current sheet within the specified workbook." stage="worksheetname" /><input type="text" name="Cell Reference" narrative="The reference at which the collection should be written." stage="cellref" /><input type="flag" name="Include Column Names" narrative="True to indicate that the column names from the collection should be written out as the first row; False to ignore the column names and just write out the data." stage="includecolnames" /></inputs><onsuccess>a3a318c6-e218-4e78-a818-1673f90541b3</onsuccess></stage><stage stageid="8819df51-0132-421d-baae-b24b5082f131" name="End" type="End"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><loginhibit /><display x="45" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="85afbd6d-2c6e-42f8-8e71-7858a8488167" name="handle" type="Data"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><display x="-255" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="bc024959-b016-4b16-93a8-e230e4ab936d" name="collection" type="Collection"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><display x="-135" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="71e25266-b464-4b47-b6a7-c8a70cff7514" name="worksheetname" type="Data"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><display x="-255" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e5f2a253-bee4-4ee0-9d8c-ab780265b5db" name="workbookname" type="Data"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><display x="-255" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="98c5b0c8-0c25-4972-b9c8-6057e6841ce5" name="includecolnames" type="Data"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><display x="-135" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a3a318c6-e218-4e78-a818-1673f90541b3" name="Activate Worksheet" type="SubSheet"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><loginhibit /><display x="45" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the worksheet which should be activated resides. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Workbook Name" narrative="The name of the workbook in which the sheet exists - The default empty value indicates the currently active workbook on the specified instance." expr="[workbookname]" /><input type="text" name="Worksheet Name" narrative="The name of the sheet which should be activated. The default empty text value indicates that the currently active sheet should be, er, activated, making this a no-op." expr="[worksheetname]" /><input type="flag" name="Create If Missing?" narrative="True to create the sheet if it isn't present on the specified workbook; False to not do so." expr="False" /></inputs><onsuccess>f2ebff4d-5325-45e8-945d-73006f5bd7ce</onsuccess><processid>733c2840-8162-465a-a8f2-7d023087c369</processid></stage><stage stageid="f2ebff4d-5325-45e8-945d-73006f5bd7ce" name="WriteColl" type="Code"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><loginhibit /><display x="45" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="worksheetname" expr="[worksheetname]" /><input type="text" name="cellref" expr="[cellref]" /><input type="collection" name="collection" expr="[collection]" /><input type="flag" name="includecolnames" expr="[includecolnames]" /></inputs><onsuccess>8819df51-0132-421d-baae-b24b5082f131</onsuccess><code><![CDATA[' Get to the cell
Dim ws As Object = GetWorksheet(handle, workbookname, worksheetname)
Dim origin As Object = ws.Range(cellref, cellref)
Dim cell As Object = origin

Dim colInd As Integer = 0, rowInd As Integer = 0 ' Offsets from the origin cell

' Deal with the column names first
If includecolnames Then
	For Each col As DataColumn In Collection.Columns
		Try
			cell = origin.Offset(rowInd, colInd)
		Catch ex As Exception ' Hit the edge.
			Exit For
		End Try
		SetProperty(cell, "Value", col.ColumnName)
		colInd += 1
	Next
	rowInd += 1
End If

' Now for the data itself
For Each row As DataRow In Collection.Rows
	colInd = 0
	For Each col As DataColumn In Collection.Columns
		Try
			cell = origin.Offset(rowInd, colInd)
		Catch ex As Exception ' Hit the edge.
			Exit For
		End Try
		'MessageBox.Show("RowOffset:" & rowInd & "; ColOffset:" & colInd & "; cell: " & cell.Address(False,False))
		SetProperty(cell, "Value", row(col))
		colInd += 1
	Next
	rowInd += 1
Next]]></code></stage><stage stageid="fb353c57-7a8c-4ccb-9428-94761a643715" name="cellref" type="Data"><subsheetid>0dbe03a0-e259-47ab-bee7-7dec41ae32e7</subsheetid><display x="-135" y="-30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="add1def4-fc64-4534-bbb0-d3ac07611a85" name="anchor5" type="Anchor"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="15" y="60" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>108c176a-92d1-4f50-b460-ac6a3f0dac25</onsuccess></stage><stage stageid="51d7d624-e8bf-42b7-afdd-8d090b584865" name="anchor6" type="Anchor"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="195" y="60" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>add1def4-fc64-4534-bbb0-d3ac07611a85</onsuccess></stage><stage stageid="4be7292e-9eb1-43f7-9e87-3ae906bd79ed" name="savechanges" type="Data"><subsheetid>6ec3006a-6553-4526-b522-32526c4aa3cc</subsheetid><display x="-210" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>False</initialvalue><private /><alwaysinit /></stage><stage stageid="0f8fc913-9174-4304-823f-d18ffae7217a" name="state = Lower(state)" type="Calculation"><subsheetid>d4998c94-d432-4713-81a5-e902535089c6</subsheetid><loginhibit /><display x="-30" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>4686174e-a845-4f2b-9a0a-70325a2df399</onsuccess><calculation expression="Lower([state])" stage="state" /></stage><stage stageid="27e7ff80-4437-42a3-ba14-e499be5bc0e5" name="sheetexists" type="Data"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><display x="-240" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3a854b87-0e5a-46dd-8181-a58f97555aa8" name="Sheet Existed?" type="Decision"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><loginhibit /><display x="15" y="-45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[sheetexists]" /><ontrue>ddfe7f54-b5c2-410a-8a5d-3c2b52de9550</ontrue><onfalse>9bc52652-698b-46ca-ba0d-ebb170432963</onfalse></stage><stage stageid="9bc52652-698b-46ca-ba0d-ebb170432963" name="No Such Sheet" type="Exception"><subsheetid>733c2840-8162-465a-a8f2-7d023087c369</subsheetid><display x="150" y="-45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="Worksheet Not Found" detail="&quot;No worksheet was found with the name '&quot; &amp; [worksheetname] &amp; &quot;' on the workbook '&quot; &amp; [workbookname] &amp; &quot;' within the instance with the handle: &quot; &amp; [handle]" /></stage><stage stageid="b396c564-6c31-4c6f-be0a-0cc64f178a19" name="sheetexisted" type="Data"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><display x="-195" y="135" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="56c2259b-9d71-4364-bede-79b4af1e3e96" name="Sheet Existed?" type="Decision"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><loginhibit /><display x="15" y="30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[sheetexisted]" /><ontrue>6b35d569-0eb2-4c01-bb88-e5f7c41bde81</ontrue><onfalse>091e0364-11db-49d4-8e94-8f5f9396fa9c</onfalse></stage><stage stageid="091e0364-11db-49d4-8e94-8f5f9396fa9c" name="No Such Sheet" type="Exception"><subsheetid>37a2442f-8e22-4749-8b44-4ef2980f28a6</subsheetid><display x="150" y="30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="Worksheet Not Found" detail="&quot;No worksheet was found with the name '&quot; &amp; [worksheetname] &amp; &quot;' on the workbook '&quot; &amp; [workbookname] &amp; &quot;' within the instance with the handle: &quot; &amp; [handle]" /></stage><stage stageid="b6d0da26-0322-4b43-b1d5-304466ff29fb" name="Sheet Exists?" type="Decision"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><loginhibit /><display x="15" y="-15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[sheetexists]" /><ontrue>cf5b0880-2cac-4221-946a-e4e3d7f0bc99</ontrue><onfalse>7e8fce63-9130-4c0f-baea-ea8be793c57d</onfalse></stage><stage stageid="7e8fce63-9130-4c0f-baea-ea8be793c57d" name="No Such Sheet" type="Exception"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><display x="165" y="-15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="Worksheet Not Found" detail="&quot;No worksheet was found with the name '&quot; &amp; [worksheetname] &amp; &quot;' on the workbook '&quot; &amp; [workbookname] &amp; &quot;' within the instance with the handle: &quot; &amp; [handle]" /></stage><stage stageid="286f9733-2a26-4c00-a7ff-7ac289086919" name="sheetexists" type="Data"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><display x="-195" y="105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5cb56c9a-aa29-4ed4-84e1-9a65976ba50f" name="Does sheet exist?" type="Decision"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><loginhibit /><display x="105" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[sheetexists]" /><ontrue>859597f9-d048-46a3-bf99-2f3f6588c2c5</ontrue><onfalse>2b8672dd-8330-4c2d-a522-9f12c9e27ba2</onfalse></stage><stage stageid="2b8672dd-8330-4c2d-a522-9f12c9e27ba2" name="No Such Sheet" type="Exception"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="300" y="-90" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="Worksheet Not Found" detail="&quot;No worksheet was found with the name '&quot; &amp; [worksheetname] &amp; &quot;' on the workbook '&quot; &amp; [workbookname] &amp; &quot;' within the instance with the handle: &quot; &amp; [handle]" /></stage><stage stageid="c50f1065-0989-47f5-aad4-c66396e462e0" name="sheetexists" type="Data"><subsheetid>f743df98-2e69-4559-89b6-32ef6637618d</subsheetid><display x="-285" y="105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="68b64b13-62f8-4431-94c4-62b7ff1f1c2c" name="Get Worksheet as Collection Offset" type="SubSheetInfo"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><narrative>Gets the current worksheet into a collection. This will read the worksheet and store the contents into the collection. The offset function allows a starting cell to be specified.</narrative><display x="-330" y="-705" w="210" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="164e0a2b-6c31-48ce-8172-7fb4edd3dbb3" name="End" type="End"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><loginhibit /><display x="-120" y="-480" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="collection" name="Data" narrative="The data output" stage="worksheetcollection" /></outputs></stage><stage stageid="0b6697a7-4aa1-4ec1-86db-bc41f3ca9d5e" name="handle" type="Data"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><display x="-330" y="-600" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="2c25e33f-7af9-4998-8c1a-4029c0e2af9e" name="workbookname" type="Data"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><display x="-330" y="-555" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5ee01090-4b0b-4e85-9643-1f3b40d182e2" name="Start" type="Start"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><loginhibit /><display x="-120" y="-705" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the worksheet which should be retrieved resides. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook which contains the sheet required. The default empty text indicates the currently active workbook on the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet within the specified workbook which should be written to a collection. The default empty text indicates the currently active worksheet within the specified workbook." stage="worksheetname" /><input type="text" name="StartCell" narrative="The starting cell of the range of interest" stage="Start Cell" /><input type="flag" name="Use Header" narrative="This flag states if the excel collection uses a header, or not." stage="Use Header" /></inputs><onsuccess>8f50a819-e470-4c0e-97d5-08bd0f705682</onsuccess></stage><stage stageid="a755a822-d485-45ea-8d7d-426646b4aec0" name="GetWorksheetAsCollectionOffset" type="Code"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><loginhibit /><display x="-120" y="-585" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="worksheetname" expr="[worksheetname]" /><input type="text" name="Start Cell" expr="[Start Cell]" /><input type="flag" name="Use Header" expr="[Use Header]" /></inputs><outputs><output type="collection" name="worksheetcollection" stage="worksheetcollection" /></outputs><onsuccess>164e0a2b-6c31-48ce-8172-7fb4edd3dbb3</onsuccess><code><![CDATA[
	Dim ws as Object = GetWorksheet( _
	 handle, workbookname, worksheetname)
	ws.Activate()

	Dim cell as Object = ws.Range(Start_Cell)
	Dim r as Object = _
	 ws.UsedRange.Offset(cell.row-1,cell.column-1)
	r.Select()
	r.Copy()

	Dim data As String = GetClipboardText()
	
	worksheetCollection = ParseDelimSeparatedVariables( _
	 data, vbTab, Nothing, Use_Header)
]]></code></stage><stage stageid="8f50a819-e470-4c0e-97d5-08bd0f705682" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><loginhibit /><display x="-120" y="-645" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>a755a822-d485-45ea-8d7d-426646b4aec0</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="f82cf955-6669-494b-b6a1-866974c7cc74" name="worksheetname" type="Data"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><display x="-330" y="-510" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9b329ff1-b62a-41eb-9503-6673f300eb68" name="worksheetcollection" type="Collection"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><display x="90" y="-600" w="150" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="3f4b3c3e-515f-4ee7-9e70-5c76c0fb3044" name="Set Events Enabled" type="SubSheetInfo"><subsheetid>69db5cf5-4908-49c7-9027-8f48e26e5b27</subsheetid><narrative>Enables or disables the events on the specified excel instance.</narrative><display x="-195" y="-105" w="180" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="cb955f7e-320d-42d1-8dad-26b8f55d083b" name="Start" type="Start"><subsheetid>69db5cf5-4908-49c7-9027-8f48e26e5b27</subsheetid><loginhibit /><display x="0" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer identifier for the instance on which the events should be enabled / disabled. Zero indicates the 'current active' instance." stage="handle" /><input type="flag" name="Enable Events" narrative="True to enable events on the specified instance, False to disable events" stage="Enable Events" /></inputs><onsuccess>68483479-6865-4fd5-9a77-f4392c4ade9e</onsuccess></stage><stage stageid="3969dd45-fdea-4671-879e-461a56f312be" name="End" type="End"><subsheetid>69db5cf5-4908-49c7-9027-8f48e26e5b27</subsheetid><loginhibit /><display x="0" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="68483479-6865-4fd5-9a77-f4392c4ade9e" name="CheckInstanceHandle" type="SubSheet"><subsheetid>69db5cf5-4908-49c7-9027-8f48e26e5b27</subsheetid><loginhibit /><display x="0" y="-75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle representing the instance." expr="[handle]" /></inputs><onsuccess>21682417-b503-44b4-92f2-a3c80b4fad14</onsuccess><processid>492548e8-2fa5-473e-9061-df8326d46e4c</processid></stage><stage stageid="45553fd7-b75b-4fee-8961-aff490d121b3" name="Enable Events" type="Data"><subsheetid>69db5cf5-4908-49c7-9027-8f48e26e5b27</subsheetid><display x="-195" y="30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="21682417-b503-44b4-92f2-a3c80b4fad14" name="Enable Events" type="Code"><subsheetid>69db5cf5-4908-49c7-9027-8f48e26e5b27</subsheetid><loginhibit /><display x="0" y="-30" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="flag" name="enable" expr="[Enable Events]" /></inputs><onsuccess>3969dd45-fdea-4671-879e-461a56f312be</onsuccess><code><![CDATA[
GetInstance(handle).EnableEvents = enable]]></code></stage><stage stageid="3fd7c1fd-f40f-451d-885e-3f5e34c62b77" name="handle" type="Data"><subsheetid>69db5cf5-4908-49c7-9027-8f48e26e5b27</subsheetid><display x="-195" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="cb99ca56-7dc9-4a0d-860e-651747237d8f" name="Enable Events" type="Data"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><display x="-210" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="7fb1ba2f-64f1-417b-9b97-479efb954a9d" name="anchor8" type="Anchor"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="375" y="60" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>51d7d624-e8bf-42b7-afdd-8d090b584865</onsuccess></stage><stage stageid="108c176a-92d1-4f50-b460-ac6a3f0dac25" name="Enable/Disable Events" type="SubSheet"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="15" y="105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer identifier for the instance on which the events should be enabled / disabled. Zero indicates the 'current active' instance." expr="[handle]" /><input type="flag" name="Enable Events" narrative="True to enable events on the specified instance, False to disable events" expr="[Enable Events]" /></inputs><onsuccess>754832af-1144-48ff-8ab0-bb6c86d3f78e</onsuccess><processid>69db5cf5-4908-49c7-9027-8f48e26e5b27</processid></stage><stage stageid="17b0edcc-4892-4e42-93c9-9438a160ed66" name="Enable Events" type="Data"><subsheetid>7ad81501-44a1-48ab-94fd-9b2c35ed20b8</subsheetid><display x="-195" y="30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="e24f71a3-1760-49ce-bbcb-4750671f20ad" name="Enable Events" type="Data"><subsheetid>2b3544ad-af96-4f40-9b50-16dfbe0600f1</subsheetid><display x="-195" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="9773e311-bcc9-4426-999e-7c586da425c5" name="Enable Events" type="Data"><subsheetid>99e648cc-a136-471c-8424-19071c0fd9e7</subsheetid><display x="-255" y="15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="a13edde2-3883-4007-9719-92f0e1009ddd" name="Set Events Enabled" type="SubSheet"><subsheetid>99e648cc-a136-471c-8424-19071c0fd9e7</subsheetid><loginhibit /><display x="-15" y="-60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer identifier for the instance on which the events should be enabled / disabled. Zero indicates the 'current active' instance." expr="[handle]" /><input type="flag" name="Enable Events" narrative="True to enable events on the specified instance, False to disable events" expr="[Enable Events]" /></inputs><onsuccess>d337a2cf-1121-4619-a1b1-f7f19bea974e</onsuccess><processid>69db5cf5-4908-49c7-9027-8f48e26e5b27</processid></stage><stage stageid="7c3abf99-a3ae-44c2-b834-ad050b20a0eb" name="Enable Events" type="Data"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><display x="-210" y="105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="6c2fa22d-1876-46b7-92eb-cf8343d0911f" name="Set Events Enabled" type="SubSheet"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><loginhibit /><display x="15" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer identifier for the instance on which the events should be enabled / disabled. Zero indicates the 'current active' instance." expr="[handle]" /><input type="flag" name="Enable Events" narrative="True to enable events on the specified instance, False to disable events" expr="[Enable Events]" /></inputs><onsuccess>18a306bf-d323-4c4e-83b5-4b226773161c</onsuccess><processid>69db5cf5-4908-49c7-9027-8f48e26e5b27</processid></stage><stage stageid="e13408b2-c348-4d32-9ca3-e878db7cd165" name="Start Cell" type="Data"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><display x="-45" y="-705" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="614b5c49-3b88-427a-9513-c3048d8b716d" name="Get Worksheet Names" type="SubSheetInfo"><subsheetid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</subsheetid><narrative>Gets the name of the worksheets.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="ef85b34d-5145-4f90-96a4-0f1abc4c4889" name="End" type="End"><subsheetid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</subsheetid><loginhibit /><display x="150" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="collection" name="Worksheet Names" narrative="A collection of worksheet names found in the specified workbook" stage="Worksheet Names" /></outputs></stage><stage stageid="7e4ae954-86d5-4183-88b2-d307fecfc6a9" name="Start" type="Start"><subsheetid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</subsheetid><loginhibit /><display x="150" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the number of rows is required. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook." stage="workbookname" /></inputs><onsuccess>9bc4bc33-6a3a-43e0-86e0-7b209978508a</onsuccess></stage><stage stageid="9bc4bc33-6a3a-43e0-86e0-7b209978508a" name="CheckInstanceAndWorkbook" type="SubSheet"><subsheetid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</subsheetid><loginhibit /><display x="150" y="-45" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><onsuccess>bbd37070-c589-4f9c-8d03-11f2982c59f4</onsuccess><processid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</processid></stage><stage stageid="bbd37070-c589-4f9c-8d03-11f2982c59f4" name="Get Worksheets" type="Code"><subsheetid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</subsheetid><loginhibit /><display x="150" y="15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /></inputs><outputs><output type="collection" name="Worksheet Names" stage="Worksheet Names" /></outputs><onsuccess>ef85b34d-5145-4f90-96a4-0f1abc4c4889</onsuccess><code><![CDATA[Dim wb As Object = GetWorkbook(Handle, WorkbookName)
Dim sheets as Object = wb.Sheets

Worksheet_Names = New DataTable()
Worksheet_Names.Columns.Add("Name", GetType(String))

If sheets IsNot Nothing Then
	For Each sheet as Object in sheets
		Worksheet_Names.Rows.Add(New Object() {sheet.Name})
	Next
End If]]></code></stage><stage stageid="cff86abf-c0f2-493d-942f-759ce2830ff8" name="handle" type="Data"><subsheetid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</subsheetid><display x="-135" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="e5d53720-b610-4e5c-bf49-94cbcaf29e20" name="workbookname" type="Data"><subsheetid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</subsheetid><display x="-135" y="45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5bd45f86-2f78-4a96-8e74-62414e4094e7" name="Worksheet Names" type="Collection"><subsheetid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</subsheetid><display x="255" y="15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="9d637f02-8e13-4c65-a606-5756018a9e8c" name="Worksheet Exists" type="SubSheetInfo"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><narrative>Checks if a worksheet exists in a workbook.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="54725352-a686-4ebc-88d8-80fa81af39bc" name="End" type="End"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><loginhibit /><display x="15" y="225" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="flag" name="Worksheet Exists" narrative="Indicates whether or not the named worksheet exists" stage="Worksheet Exists" /></outputs></stage><stage stageid="4cd78f5f-29a7-4f71-ab51-5c93e2e50ba3" name="Start" type="Start"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><loginhibit /><display x="105" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the number of rows is required. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook on which the number of rows is required. The default empty text value indicates the currently active workbook on the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet of interest; it will be checked for existence" stage="Worksheet Name" /></inputs><onsuccess>b4bad8df-ac04-4c0f-88cf-21bd3dc6707a</onsuccess></stage><stage stageid="4126c650-c062-413d-b6b3-501c8743b400" name="handle" type="Data"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><display x="-180" y="0" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="a19213a7-dbb4-4a78-b929-7c0ec2f48fa7" name="workbookname" type="Data"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><display x="-180" y="45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b4bad8df-ac04-4c0f-88cf-21bd3dc6707a" name="Get Worksheet Names" type="SubSheet"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><loginhibit /><display x="105" y="-45" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the number of rows is required. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Workbook Name" narrative="The name of the workbook on which the number of rows is required. The default empty text value indicates the currently active workbook on the specified instance." expr="[workbookname]" /></inputs><outputs><output type="collection" name="Worksheet Names" narrative="A collection of worksheet names found in the specified workbook" stage="Worksheet Names" /></outputs><onsuccess>3124d4f1-6d19-450e-8d71-01e6c2cac8d9</onsuccess><processid>becd6faa-f5c0-4d3a-a48a-cb54d3aa8909</processid></stage><stage stageid="920cf97d-74a9-441c-9e2b-2c47c023ac33" name="Worksheet Names" type="Collection"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><display x="255" y="-45" w="120" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="3124d4f1-6d19-450e-8d71-01e6c2cac8d9" name="For Each Name" type="LoopStart"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><loginhibit /><display x="105" y="45" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>0e40b339-b952-445b-a957-6d2d0a1bdbac</onsuccess><groupid>7adde929-95a8-4bdb-8362-2dcf58807cb2</groupid><looptype>ForEach</looptype><loopdata>Worksheet Names</loopdata></stage><stage stageid="27d57e09-d2fa-496d-a5c6-d382be881ad1" name="Next" type="LoopEnd"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><loginhibit /><display x="105" y="135" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>aea2b1ba-e24b-4929-a0be-bc2ad811f277</onsuccess><groupid>7adde929-95a8-4bdb-8362-2dcf58807cb2</groupid></stage><stage stageid="4198f8b9-1418-4bbc-a984-4049f1b78df6" name="Worksheet Name" type="Data"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><display x="180" y="-135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0e40b339-b952-445b-a957-6d2d0a1bdbac" name="Matches?" type="Decision"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><loginhibit /><display x="105" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Worksheet Name] = [Worksheet Names.Name]" /><ontrue>f284f63f-fccf-4df8-ab7d-d7ef8aca1fb1</ontrue><onfalse>27d57e09-d2fa-496d-a5c6-d382be881ad1</onfalse></stage><stage stageid="f284f63f-fccf-4df8-ab7d-d7ef8aca1fb1" name="Found" type="Calculation"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><loginhibit /><display x="15" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>54725352-a686-4ebc-88d8-80fa81af39bc</onsuccess><calculation expression="True" stage="Worksheet Exists" /></stage><stage stageid="f5a7d39b-3edc-4984-89dc-f88f02b5f747" name="Worksheet Exists" type="Data"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><display x="-60" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="aea2b1ba-e24b-4929-a0be-bc2ad811f277" name="Not Found" type="Calculation"><subsheetid>eacc4634-9985-4a1d-9773-8f79928708ee</subsheetid><loginhibit /><display x="105" y="225" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>54725352-a686-4ebc-88d8-80fa81af39bc</onsuccess><calculation expression="False" stage="Worksheet Exists" /></stage><stage stageid="a1d81278-4fd7-4ee6-a878-8ec4dcde4793" name="Get Worksheet Range As Collection" type="SubSheetInfo"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><narrative>Exceptions
Office 2013 onwards
There are known issues when attempting to read and write data using the Excel VBO with the application set to run in background mode. These issues can be overcome by using the Show action</narrative><display x="-135" y="-105" w="360" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="6f2ee451-c914-4c38-8e19-4d3e3a519dfd" name="End" type="End"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><loginhibit /><display x="135" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="collection" name="Data" narrative="The spreadsheet data from the specified range, as a collection" stage="worksheetcollection" /></outputs></stage><stage stageid="fa5759e6-b7e3-42d1-8297-90953ec4a343" name="handle" type="Data"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><display x="-75" y="-15" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="832f8dbf-c88e-4488-89ec-d0782439fc34" name="workbookname" type="Data"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><display x="-75" y="30" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b7a36655-443b-482f-809b-eb738682ee98" name="Start" type="Start"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><loginhibit /><display x="135" y="-120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the number of rows is required. The default of zero indicates the currently active instance." stage="handle" /><input type="text" name="Workbook Name" narrative="The name of the workbook on which the number of rows is required. The default empty text value indicates the currently active workbook on the specified instance." stage="workbookname" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet within the specified workbook which should be written to a collection. The default empty text indicates the currently active worksheet within the specified workbook." stage="worksheetname" /><input type="text" name="StartCell" narrative="The starting cell of the range of interest" stage="Start Cell" /><input type="text" name="EndCell" narrative="The end cell of the range of interest" stage="End Cell" /><input type="flag" name="Use Header" narrative="This flag states if the excel collection uses a header, or not." stage="Use Header" /></inputs><onsuccess>58d3ca4f-4467-492d-b85a-fd7ab4271110</onsuccess></stage><stage stageid="680eac96-2bd0-4d02-a62b-ac7bf684dae9" name="GetWorksheetRangeAsCollection" type="Code"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><loginhibit /><display x="135" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /><input type="text" name="workbookname" expr="[workbookname]" /><input type="text" name="worksheetname" expr="[worksheetname]" /><input type="text" name="Start Cell" expr="[Start Cell]" /><input type="text" name="End Cell" expr="[End Cell]" /><input type="flag" name="Use Header" expr="[Use Header]" /></inputs><outputs><output type="collection" name="worksheetcollection" stage="worksheetcollection" /></outputs><onsuccess>6f2ee451-c914-4c38-8e19-4d3e3a519dfd</onsuccess><code><![CDATA[
	Dim ws as Object = GetWorksheet( _
	 handle, workbookname, worksheetname)
	Dim r as Object
	r = ws.Range(Start_Cell & ":" & End_Cell)
	r.Select()
	r.Copy()

	Dim data As String = GetClipboardText()

	worksheetCollection = ParseDelimSeparatedVariables( _
	 data, vbTab, Nothing, Use_Header)
]]></code></stage><stage stageid="706da482-84a4-4e78-a1ba-002f80123e3f" name="worksheetname" type="Data"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><display x="-75" y="75" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b1ec36df-f335-48a9-a0f4-e3f39d6c987d" name="worksheetcollection" type="Collection"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><display x="345" y="-15" w="150" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="8054b9c8-5245-4a77-a058-949faeec00a7" name="Start Cell" type="Data"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><display x="210" y="-120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d9f43b65-bd92-44fa-b0fe-cf798aaf49be" name="End Cell" type="Data"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><display x="270" y="-120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="40717bdb-980d-46a2-8ed8-4c3c283a98ff" name="Use Header" type="Data"><subsheetid>92799072-140a-4621-89cd-2da12475dcda</subsheetid><display x="30" y="-705" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="1a437a6b-8cfe-4bc1-a7d3-ca5a2e026477" name="Remove Blank Rows" type="SubSheetInfo"><subsheetid>67651307-0389-47bf-ae8d-fd94364e808f</subsheetid><narrative>Removes blank rows in the active excel workbook. The entire row must consist of blank cells.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="c883a67c-5093-45d2-82c8-680cf35c2c0e" name="Start" type="Start"><subsheetid>67651307-0389-47bf-ae8d-fd94364e808f</subsheetid><loginhibit /><display x="75" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the required workbook should be opened. The default of zero indicates the currently active instance." stage="handle" /></inputs><onsuccess>1e0e5735-5bc9-43dc-85c9-4e8735def67f</onsuccess></stage><stage stageid="7023c112-819d-4c9c-82f3-84ab84c9f560" name="End" type="End"><subsheetid>67651307-0389-47bf-ae8d-fd94364e808f</subsheetid><loginhibit /><display x="75" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="1e0e5735-5bc9-43dc-85c9-4e8735def67f" name="Activate Workbook" type="SubSheet"><subsheetid>67651307-0389-47bf-ae8d-fd94364e808f</subsheetid><loginhibit /><display x="75" y="-45" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the workbook should be activated. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Workbook Name" narrative="The workbook name identifying the workbook which should be activated - empty text indicates the currently active workbook, making this a no-op." expr="" /></inputs><onsuccess>4fa6c603-9d6a-4077-ba95-9d213394ee06</onsuccess><processid>6632ed99-8751-4c2a-ad00-3cc016300e08</processid></stage><stage stageid="890b79a0-986e-4982-a010-99e17a8f7173" name="handle" type="Data"><subsheetid>67651307-0389-47bf-ae8d-fd94364e808f</subsheetid><display x="225" y="-105" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="4fa6c603-9d6a-4077-ba95-9d213394ee06" name="Delete blank rows" type="Code"><subsheetid>67651307-0389-47bf-ae8d-fd94364e808f</subsheetid><loginhibit /><display x="75" y="15" w="180" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" expr="[handle]" /></inputs><onsuccess>7023c112-819d-4c9c-82f3-84ab84c9f560</onsuccess><code><![CDATA[Dim worksheet As Object
worksheet = GetWorkbook(handle,Nothing).ActiveSheet

Const xlCellTypeLastCell As Integer = 11 
Dim FirstRow As Integer = 1
Dim LastRow As Integer = worksheet.Cells.SpecialCells(xlCellTypeLastCell).Row

For i As Integer = LastRow To FirstRow Step -1
	If worksheet.Application.CountA(worksheet.Rows(i)) = 0 Then
		worksheet.Rows(i).Delete
	End If
Next]]></code></stage><stage stageid="7ea085b3-60ed-4690-9b58-044e3adac69b" name="Move Worksheet" type="SubSheetInfo"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><narrative>Moves the specified worksheet to another workbook.
</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="48fad533-06e9-41b7-b213-bfea2423c61c" name="Start" type="Start"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance on which the workbook which should be closed resides. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Source Workbook" narrative="The name of the source workbook which contains the sheet required." stage="Source Workbook" /><input type="text" name="Source Worksheet" narrative="The name of the source worksheet which is to be moved." stage="Source Worksheet" /><input type="text" name="Destination Workbook" narrative="The name of the destination workbook which the worksheet will be moved to." stage="Destination Workbook" /><input type="number" name="Destination Position" narrative="The destination position to move the worksheet to." stage="Destination Position" /><input type="flag" name="Copy" narrative="The true or false flag to decide if the moved worksheet will be copied." stage="Copy" /></inputs><onsuccess>b950e637-fb25-4932-b970-65e4ee21dd1d</onsuccess></stage><stage stageid="51274535-b09a-4b0b-a9bc-fff82557aa0a" name="Handle" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6336e057-ac6a-4b57-b789-906100be58cc" name="Source Workbook" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="51bf5410-80ae-4517-8ee8-1ccf54a61e2f" name="Source Worksheet" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="467b75ec-f03c-460e-a57d-d6852ab35293" name="Destination Workbook" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="60" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9ad740a0-b0e5-483c-9247-2b766533c852" name="Source Worksheet Exists" type="SubSheet"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="135" y="-30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the number of rows is required. The default of zero indicates the currently active instance." expr="[Handle]" /><input type="text" name="Workbook Name" narrative="The name of the workbook on which the number of rows is required. The default empty text value indicates the currently active workbook on the specified instance." expr="[Source Workbook]" /><input type="text" name="Worksheet Name" narrative="The name of the worksheet of interest; it will be checked for existence" expr="[Source Worksheet]" /></inputs><outputs><output type="flag" name="Worksheet Exists" narrative="Indicates whether or not the named worksheet exists" stage="Worksheet Exists" /></outputs><onsuccess>efca1a70-2f20-4dda-b071-825a986958a6</onsuccess><processid>eacc4634-9985-4a1d-9773-8f79928708ee</processid></stage><stage stageid="4702c382-1a44-441c-9cd1-83281efd10ff" name="Worksheet Exists" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="210" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="efca1a70-2f20-4dda-b071-825a986958a6" name="Worksheet Exists?" type="Decision"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="135" y="45" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Worksheet Exists]" /><ontrue>e804939a-8a40-4803-89cd-b10e57a97583</ontrue><onfalse>5d46a63f-e90b-4432-8c62-52d2e2380065</onfalse></stage><stage stageid="e804939a-8a40-4803-89cd-b10e57a97583" name="Move Named Worksheet" type="Code"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="135" y="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="SourceWorkbook" expr="[Source Workbook]" /><input type="text" name="SourceWorksheet" expr="[Source Worksheet]" /><input type="text" name="DestinationWorkbook" expr="[Destination Workbook]" /><input type="number" name="DestinationPosition" expr="[Destination Position]" /><input type="flag" name="Copy" expr="[Copy]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>764ea205-800b-4ab5-adc1-273a46ad93b6</onsuccess><code><![CDATA[Dim dBook, sSheet As Object
Dim p As Integer

Try

dBook = GetWorkbook(Handle, DestinationWorkbook)
sSheet = GetWorksheet(Handle, SourceWorkbook, SourceWorksheet)

p = Math.Max(1, DestinationPosition)
p = Math.Min(dBook.Worksheets.Count, p)

If DestinationPosition > p Then
	If Copy Then
		sSheet.Copy(After:=dBook.Worksheets(p))
	Else
		sSheet.Move(After:=dBook.Worksheets(p))
	End If
Else
	If Copy Then
		sSheet.Copy(Before:=dBook.Worksheets(p))
	Else
		sSheet.Move(Before:=dBook.Worksheets(p))
	End If
End If

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	dBook = Nothing
	sSheet = Nothing
End Try]]></code></stage><stage stageid="38d819d9-2dec-4ae8-afe3-76da44096935" name="End2" type="End"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="135" y="270" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="cb823085-c462-43b7-81d0-3ad7f1e026dd" name="Success" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="240" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="81e05f5d-ac29-4885-b6cd-fd5a308fcc44" name="Message" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="270" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="764ea205-800b-4ab5-adc1-273a46ad93b6" name="Success?" type="Decision"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="135" y="195" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>38d819d9-2dec-4ae8-afe3-76da44096935</ontrue><onfalse>65eda7a6-ce00-4372-9fc9-26931328aba4</onfalse></stage><stage stageid="7b25db9b-d103-4ba0-a8a5-468a16e50dd7" name="Exception" type="Exception"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="345" y="195" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to copy worksheet: &quot; &amp; [Message]" /></stage><stage stageid="87c0d87a-ef13-4eb7-8e10-085ab67dc0a0" name="Destination Position" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="90" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="3e46008f-172e-42b3-b4b3-e7221f0ef6d8" name="Copy and Paste Worksheet Range" type="SubSheetInfo"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><narrative>Office 2013 onwards
There are known issues when attempting to read and write data using the Excel VBO with the application set to run in background mode. These issues can be overcome by using the Show action</narrative><display x="-270" y="-120" w="300" h="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="979c420e-1748-448e-9334-e238c47503a1" name="Copy" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="120" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>False</initialvalue><private /><alwaysinit /></stage><stage stageid="5d46a63f-e90b-4432-8c62-52d2e2380065" name="Exception" type="Exception"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="240" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Source worksheet not found&quot;" /></stage><stage stageid="b470a541-1a6d-4c08-936a-94d2c6c99aa8" name="Start" type="Start"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance on which the workbook which should be closed resides. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Source Workbook" narrative="The name of the source workbook which is be copied." stage="Source Workbook" /><input type="text" name="Source Worksheet" narrative="The name of the source worksheet which is to be copied." stage="Source Worksheet" /><input type="text" name="Source Range" narrative="The range of cells which will be copied." stage="Source Range" /><input type="text" name="Destination Workbook" narrative="The name of the destination workbook which the worksheet will be copied to." stage="Destination Workbook" /><input type="text" name="Destination Worksheet" narrative="The name of the destination worksheet which the range of cell will be copied to." stage="Destination Worksheet" /><input type="text" name="Destination Range" narrative="The destination range of cells." stage="Destination Range" /></inputs><onsuccess>11afaed8-560c-4915-b3eb-04f45158a941</onsuccess></stage><stage stageid="b4598457-7e50-432e-ae29-7d081367e298" name="Source Workbook" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="dc6e0465-0f54-401c-964f-974f43802264" name="Source Worksheet" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="18b0fe7d-0b86-4fd0-bcd9-6c80841ae464" name="Destination Workbook" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="105" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0366fbb1-1c68-4466-87cb-760d499b4cdd" name="Worksheet Exists" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="210" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="11afaed8-560c-4915-b3eb-04f45158a941" name="Paste Worksheet" type="Code"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Source Workbook" expr="[Source Workbook]" /><input type="text" name="Source Worksheet" expr="[Source Worksheet]" /><input type="text" name="Source Range" expr="[Source Range]" /><input type="text" name="Destination Workbook" expr="[Destination Workbook]" /><input type="text" name="Destination Worksheet" expr="[Destination Worksheet]" /><input type="text" name="Destination Range" expr="[Destination Range]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>8136ae2b-8fb0-4945-8016-b5b9eae4c2d2</onsuccess><code><![CDATA[Dim sw, dw As Object
Dim ss, ds As Object
Dim excel, sheet, source, destination, cells, cell As Object

Try

sw = GetWorkbook(Handle, Source_Workbook)
dw = GetWorkbook(Handle, Destination_Workbook)

ss = GetWorksheet(Handle, Source_Workbook, Source_Worksheet)
ds = GetWorksheet(Handle, Destination_Workbook, Destination_Worksheet)

sw.Activate()
ss.Activate()
excel = ss.Application
sheet = excel.ActiveSheet
cell = excel.ActiveCell

If Source_Range="" Then
	cells = sheet.Cells
	Destination_Range = "A1"
Else
	cells = sheet.Range(Source_Range)
End If

cells.Select()
source = excel.Selection
source.Copy()
cell.Select()

dw.Activate()
ds.Activate()
sheet = excel.ActiveSheet
cell = excel.ActiveCell
destination = sheet.Range(Destination_Range)
destination.Select()
sheet.Paste()
cell.Select()

My.Computer.Clipboard.Clear()

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	sw = Nothing
	ss = Nothing
	dw = Nothing
	ds = Nothing
	excel = Nothing
	sheet = Nothing
	source = Nothing
	destination = Nothing
	cells = Nothing
	cell = Nothing
End Try]]></code></stage><stage stageid="70304b7a-b551-4a52-b52d-924f11d328a7" name="End2" type="End"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="61bc4bd1-c8ab-4fe3-993e-a7e30fcaf9ef" name="Success" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="240" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2e558b45-ad3b-459a-978c-048e7f555c4a" name="Message" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="270" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8136ae2b-8fb0-4945-8016-b5b9eae4c2d2" name="Success?" type="Decision"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><loginhibit /><display x="15" y="30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>70304b7a-b551-4a52-b52d-924f11d328a7</ontrue><onfalse>470e1a49-496c-497e-b59a-537f730059cb</onfalse></stage><stage stageid="470e1a49-496c-497e-b59a-537f730059cb" name="Exception" type="Exception"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="120" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to copy worksheet: &quot; &amp; [Message]" /></stage><stage stageid="2a17d158-14b5-4cec-aa84-2b6789585973" name="Destination Worksheet" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="135" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="124d4f6c-b7b5-4935-8d7a-71a253571261" name="Handle" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b950e637-fb25-4932-b970-65e4ee21dd1d" name="Source Worksheet Number?" type="Decision"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="15" y="-30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="IsNumber([Source Worksheet])" /><ontrue>eba296d1-0f89-4c61-892c-b25b40f3f618</ontrue><onfalse>9ad740a0-b0e5-483c-9247-2b766533c852</onfalse></stage><stage stageid="8b56215b-b4e5-4a95-a49d-179871dd1d2b" name="Move Numbered Worksheet" type="Code"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="15" y="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="SourceWorkbook" expr="[Source Workbook]" /><input type="number" name="SourceWorksheet" expr="[Source Worksheet Number]" /><input type="text" name="DestinationWorkbook" expr="[Destination Workbook]" /><input type="number" name="DestinationPosition" expr="[Destination Position]" /><input type="flag" name="Copy" expr="[Copy]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>e9db38cf-4c64-49fa-a46b-f2dfa31dfe18</onsuccess><code><![CDATA[Dim sBook, dBook As Object
Dim sSheet As Object
Dim p As Integer

Try

sBook = GetWorkbook(Handle, SourceWorkbook)
dBook = GetWorkbook(Handle, DestinationWorkbook)

sSheet = sBook.Worksheets(SourceWorksheet)

p = Math.Max(1, DestinationPosition)
p = Math.Min(sBook.Worksheets.Count, p)

If DestinationPosition > p Then
	If Copy Then
		sSheet.Copy(After:=dBook.Worksheets(p))
	Else
		sSheet.Move(After:=dBook.Worksheets(p))
	End If
Else
	If Copy Then
		sSheet.Copy(Before:=dBook.Worksheets(p))
	Else
		sSheet.Move(Before:=dBook.Worksheets(p))
	End If
End If

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	sBook = Nothing
	dBook = Nothing
	sSheet = Nothing
End Try]]></code></stage><stage stageid="e9db38cf-4c64-49fa-a46b-f2dfa31dfe18" name="anchor7" type="Anchor"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="15" y="195" w="10" h="10" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>764ea205-800b-4ab5-adc1-273a46ad93b6</onsuccess></stage><stage stageid="65eda7a6-ce00-4372-9fc9-26931328aba4" name="Copy?" type="Decision"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="240" y="195" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Copy]" /><ontrue>7b25db9b-d103-4ba0-a8a5-468a16e50dd7</ontrue><onfalse>32d3772b-fe03-4a13-a415-62b4fdd5fa8f</onfalse></stage><stage stageid="32d3772b-fe03-4a13-a415-62b4fdd5fa8f" name="Exception" type="Exception"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="240" y="270" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to move worksheet: &quot; &amp; [Message]" /></stage><stage stageid="eba296d1-0f89-4c61-892c-b25b40f3f618" name="Source Workbook Number" type="Calculation"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><loginhibit /><display x="15" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>8b56215b-b4e5-4a95-a49d-179871dd1d2b</onsuccess><calculation expression="[Source Worksheet]" stage="Source Worksheet Number" /></stage><stage stageid="2cc989f3-1c41-4289-98fb-383b0c88ed74" name="Source Worksheet Number" type="Data"><subsheetid>79b9bf7c-222d-4cc3-adc8-5bb337fa6d72</subsheetid><display x="-195" y="180" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="09bbef8a-09b2-4a43-925d-b1a0b88e692b" name="Get Worksheet Position" type="SubSheetInfo"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="4235fac3-2295-4511-828e-090e9c888d38" name="End" type="End"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="number" name="Position" narrative="The output data - the position of the worksheet." stage="Position" /></outputs></stage><stage stageid="46d026ab-934f-4e60-8d1f-68344ac1b103" name="Handle" type="Data"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d3d97151-6742-41e9-9b9a-08ce6b9700d1" name="Workbook" type="Data"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="7ec78a25-f322-4161-8872-54815ffbc0f0" name="Worksheet" type="Data"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9ccd25c1-379e-41cf-92fd-2d02ac1fc7ac" name="Start" type="Start"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance on which the number of rows is required. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook on which the number of rows is required. The default empty text value indicates the currently active workbook on the specified instance." stage="Workbook" /><input type="text" name="Worksheet" narrative="The name of the worksheet of interest; it will be checked for existence" stage="Worksheet" /></inputs><onsuccess>244c946c-e677-4da7-8d5a-de244ec07eea</onsuccess></stage><stage stageid="244c946c-e677-4da7-8d5a-de244ec07eea" name="Get Worksheet Position" type="Code"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="text" name="Worksheet" expr="[Worksheet]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /><output type="number" name="Position" stage="Position" /></outputs><onsuccess>27d60ef1-833c-44f5-b5ab-0aefb2c0581c</onsuccess><code><![CDATA[Dim wb, ws As Object

Try

wb = GetWorkbook(Handle, Workbook)
ws = wb.Worksheets
Position = ws(Worksheet).Index

Success = True

Catch e As Exception
   position = -1
	Success = False
	Message = e.Message
Finally
	wb = Nothing
	ws = Nothing
End Try]]></code></stage><stage stageid="f13a2dde-4da4-4811-a0dd-f3f0bb009354" name="Position" type="Data"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><display x="-195" y="90" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="32b13d14-acc8-406c-8d15-9ffdc7355c5d" name="Source Range" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="60" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5fa73a8e-f525-4d57-a0ff-9df54a1d2d63" name="Destination Range" type="Data"><subsheetid>da83b3dd-0312-4b53-9732-e3f8e29c561f</subsheetid><display x="-195" y="165" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0f1da6ce-caa1-4a5c-b622-70602b8ad49e" name="Select" type="SubSheetInfo"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><narrative>Selects cells of a worksheet.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="30e9f460-bd3e-4273-bb7c-77fedbfe445f" name="End" type="End"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="a24031db-2c21-4624-9a0b-6643f3e75247" name="Handle" type="Data"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="aa9504d1-c2d1-49a6-a6f2-cf95da7eeb12" name="Workbook" type="Data"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="bcba2fd7-c2e3-4661-a6c4-be512624d70c" name="Worksheet" type="Data"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="f78616ed-e974-46dd-ace5-c44a1b800c11" name="Start" type="Start"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance on which the cell to be formatted is contained. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /><input type="text" name="Worksheet" narrative="The name of the worksheet." stage="Worksheet" /><input type="text" name="Cell Reference" narrative="The reference of cells that is selected." stage="Cell Reference" /></inputs><onsuccess>34677bae-38d3-4518-917f-c883f9c1677d</onsuccess></stage><stage stageid="92300230-c4b8-4530-9378-f98dfd556895" name="Cell Reference" type="Data"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><display x="-195" y="60" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="34677bae-38d3-4518-917f-c883f9c1677d" name="Select Cells" type="Code"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="text" name="Worksheet" expr="[Worksheet]" /><input type="text" name="Reference" expr="[Cell Reference]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>2cb73eba-be13-4568-a11a-02f3a20b9dfe</onsuccess><code><![CDATA[Dim wb, ws As Object
Dim excel, sheet, range As Object

Try

wb = GetWorkbook(Handle, Workbook)
ws = GetWorksheet(Handle, Workbook, Worksheet)

wb.Activate()
ws.Activate()
excel = ws.Application
sheet = excel.ActiveSheet
range = sheet.Range(Reference)
range.Select()

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	wb = Nothing
	ws = Nothing
	excel = Nothing
	sheet = Nothing
	range = Nothing
End Try]]></code></stage><stage stageid="2cb73eba-be13-4568-a11a-02f3a20b9dfe" name="Success?" type="Decision"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><loginhibit /><display x="15" y="30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>30e9f460-bd3e-4273-bb7c-77fedbfe445f</ontrue><onfalse>7cb606b3-cd0e-46f3-bd05-fd635aa9d2d4</onfalse></stage><stage stageid="7cb606b3-cd0e-46f3-bd05-fd635aa9d2d4" name="Exception" type="Exception"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><display x="120" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to select row: &quot; &amp; [Message]" /></stage><stage stageid="3e5f45b4-d1b1-4dc1-8be0-29a9b4a55c53" name="Success" type="Data"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><display x="-195" y="105" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="34efe5b1-fcdd-4221-a651-006b1110ebbd" name="Message" type="Data"><subsheetid>9147cb85-5c6f-4a47-adcf-ab472d5a0b5a</subsheetid><display x="-195" y="135" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8189dfa8-421a-45da-9d7c-26ac377bc514" name="Delete" type="SubSheetInfo"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><narrative>Delete cells from the workbook.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="a3f17004-6131-48f2-b0a8-e602f24b599e" name="End" type="End"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><loginhibit /><display x="120" y="195" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="6d0b1914-39fd-4e17-b7b4-55faafd45af7" name="Handle" type="Data"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="75588f1d-b4d2-4c8c-a51f-61c822a68abb" name="Workbook" type="Data"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ad8ce293-a3a3-43ca-9b8f-1d680fbdc03e" name="Start" type="Start"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /><input type="text" name="Shift (Left or Up)" narrative="The shift type for cells to be deleted." stage="Shift" /></inputs><onsuccess>97daebd3-2794-4944-af67-9698bbaa77b3</onsuccess></stage><stage stageid="57a5ebdd-ad03-4f7b-a358-8ef0172ed1fd" name="Delete Selection" type="Code"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><loginhibit /><display x="120" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="number" name="Shift Type" expr="[Shift Type]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>6f1da154-330d-490b-b615-df266c6767fa</onsuccess><code><![CDATA[Dim wb, excel, range As Object

Try

wb = GetWorkbook(Handle, Workbook)
excel = wb.Application

range = excel.Selection
range.Delete(Shift:=[Shift_Type])

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	wb = Nothing
	excel = Nothing
	range = Nothing
End Try]]></code></stage><stage stageid="6f1da154-330d-490b-b615-df266c6767fa" name="Success?" type="Decision"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><loginhibit /><display x="120" y="120" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>a3f17004-6131-48f2-b0a8-e602f24b599e</ontrue><onfalse>bb18bdc9-f544-4157-a6ba-e289c8f33c43</onfalse></stage><stage stageid="bb18bdc9-f544-4157-a6ba-e289c8f33c43" name="Exception" type="Exception"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><display x="225" y="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to delete selection: &quot; &amp; [Message]" /></stage><stage stageid="d0c4907b-2b85-424d-a6ef-8bcfb43d3f72" name="Success" type="Data"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><display x="-195" y="150" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9dbebe22-4f86-499f-8f29-155baf2cc42d" name="Message" type="Data"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><display x="-195" y="180" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2110b138-01f6-47af-befd-7a71637b5844" name="Shift" type="Data"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="97daebd3-2794-4944-af67-9698bbaa77b3" name="Shift Left?" type="Decision"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><loginhibit /><display x="15" y="-30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="Trim(Upper([Shift]))=&quot;LEFT&quot;" /><ontrue>6e608312-7a91-4039-8f0a-90ccaac7d3cc</ontrue><onfalse>8a8e9a33-5eca-485a-adeb-e5a43592d6d4</onfalse></stage><stage stageid="6e608312-7a91-4039-8f0a-90ccaac7d3cc" name="Shift Type" type="Calculation"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><loginhibit /><display x="120" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>57a5ebdd-ad03-4f7b-a358-8ef0172ed1fd</onsuccess><calculation expression="-4159" stage="Shift Type" /></stage><stage stageid="4095b231-4d4f-4c98-b74d-6134fb63b9af" name="Shift Type" type="Data"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><display x="-195" y="120" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8a8e9a33-5eca-485a-adeb-e5a43592d6d4" name="Shift Type" type="Calculation"><subsheetid>3d161cf5-0e7a-4ac7-aa8c-f37a1b380e1a</subsheetid><loginhibit /><display x="15" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>57a5ebdd-ad03-4f7b-a358-8ef0172ed1fd</onsuccess><calculation expression="-4162" stage="Shift Type" /></stage><stage stageid="27122991-d4c6-4811-a366-7fd47a11da5c" name="Copy" type="SubSheetInfo"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><narrative>Copy cells from the workbook.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="bba0e0d4-6894-469c-a9b8-1f07855dadc9" name="End" type="End"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="364a6306-d747-4c70-84ae-4128d8938fbc" name="Handle" type="Data"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="f0139001-74d1-4ab8-a517-4329434df1e5" name="Workbook" type="Data"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="58d750a5-2e0e-4aaa-951a-76aaf6b973da" name="Start" type="Start"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /></inputs><onsuccess>d8005fde-9fe5-47f9-a980-e4beae15815a</onsuccess></stage><stage stageid="a8acd5cc-0955-4896-b87a-80091b060926" name="Success?" type="Decision"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><loginhibit /><display x="15" y="30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>bba0e0d4-6894-469c-a9b8-1f07855dadc9</ontrue><onfalse>6ceb186e-fea0-48a8-a72d-f104f83699c6</onfalse></stage><stage stageid="6ceb186e-fea0-48a8-a72d-f104f83699c6" name="Exception" type="Exception"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><display x="120" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to copy selection: &quot; &amp; [Message]" /></stage><stage stageid="4f25dc7f-bd6f-495d-90e7-0d561dba2662" name="Success" type="Data"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><display x="-195" y="105" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8a8da6c3-ceed-4a32-8e4d-473b53a57602" name="Message" type="Data"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><display x="-195" y="135" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d8005fde-9fe5-47f9-a980-e4beae15815a" name="Copy Selection" type="Code"><subsheetid>71ebd060-a411-45fc-8f39-132eb3e5ff79</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>a8acd5cc-0955-4896-b87a-80091b060926</onsuccess><code><![CDATA[Dim wb, excel, range As Object

Try

wb = GetWorkbook(Handle, Workbook)
excel = wb.Application
range = excel.Selection
range.Copy

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	wb = Nothing
	excel = Nothing
	range = Nothing
End Try]]></code></stage><stage stageid="044c591e-e63e-4f13-80b8-de4217a78b3b" name="Paste" type="SubSheetInfo"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><narrative>Paste text into cells of a workbook.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="1ebf6405-9e3a-45f8-be9c-fdd70f254b34" name="End" type="End"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><loginhibit /><display x="120" y="195" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="3f23548e-a9f9-48c6-93c3-fbd8fa4f8d8d" name="Handle" type="Data"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0acf7ad6-162d-4e2d-9a03-a6ebc54eb526" name="Workbook" type="Data"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="7d4b5681-cffa-432d-be94-08d4ddf16986" name="Start" type="Start"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /><input type="flag" name="Values Only" narrative="True or false flag to decide whether to paste the values only." stage="Values Only" /></inputs><onsuccess>0d27a545-71b3-4a27-843b-8ed69b1648ce</onsuccess></stage><stage stageid="360c1bdb-1960-4486-ad05-8ec4485ef0ec" name="Success?" type="Decision"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><loginhibit /><display x="120" y="120" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>1ebf6405-9e3a-45f8-be9c-fdd70f254b34</ontrue><onfalse>4830e942-edaf-4bd2-8922-9cffafc084ad</onfalse></stage><stage stageid="4830e942-edaf-4bd2-8922-9cffafc084ad" name="Exception" type="Exception"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><display x="225" y="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to paste from clipboard: &quot; &amp; [Message]" /></stage><stage stageid="77b051c2-e570-49a3-8708-b42785a2517f" name="Success" type="Data"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><display x="-195" y="165" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="da93fc46-495b-4511-a724-a1cc7d70cffa" name="Message" type="Data"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><display x="-195" y="195" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="24bf06a1-fd8f-4cd3-bab6-e05552f8bdba" name="Paste Values" type="Code"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><loginhibit /><display x="120" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="number" name="Paste Option" expr="[Paste Option]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>360c1bdb-1960-4486-ad05-8ec4485ef0ec</onsuccess><code><![CDATA[Dim wb, excel, range As Object

Try

wb = GetWorkbook(Handle, Workbook)
excel = wb.Application

range = excel.Selection
range.PasteSpecial(Paste:=Paste_Option, Operation:=-4142, SkipBlanks:=False, Transpose:=False)

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	wb = Nothing
   range = Nothing
End Try]]></code></stage><stage stageid="ba04d5a5-b0f7-4979-af44-2f0fee5237f9" name="Write To Clipboard" type="SubSheetInfo"><subsheetid>2c59601b-2b70-4c97-a218-0abf1bf7463a</subsheetid><narrative>Writes text to clipboard so that it can be copied.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="1587c068-8225-4476-b636-9403f8acd84a" name="Start" type="Start"><subsheetid>2c59601b-2b70-4c97-a218-0abf1bf7463a</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="Value" narrative="The text that is to be copied to clipboard." stage="Value" /></inputs><onsuccess>2279ba0c-3963-48f8-b813-4b0f53f47471</onsuccess></stage><stage stageid="a82e0657-86e9-4273-bd0f-2065d5f70254" name="End" type="End"><subsheetid>2c59601b-2b70-4c97-a218-0abf1bf7463a</subsheetid><loginhibit /><display x="15" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="eda7181f-a720-4b63-9d69-86221881d965" name="Value" type="Data"><subsheetid>2c59601b-2b70-4c97-a218-0abf1bf7463a</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2279ba0c-3963-48f8-b813-4b0f53f47471" name="Write To Clipboard" type="Code"><subsheetid>2c59601b-2b70-4c97-a218-0abf1bf7463a</subsheetid><loginhibit /><display x="15" y="-15" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="Value" expr="[Value]" /></inputs><onsuccess>a82e0657-86e9-4273-bd0f-2065d5f70254</onsuccess><code><![CDATA[
SetClipboardText(Value)
]]></code></stage><stage stageid="79b62074-ec0d-49c6-a258-61823cc8a849" name="Values Only" type="Data"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>False</initialvalue><private /><alwaysinit /></stage><stage stageid="0d27a545-71b3-4a27-843b-8ed69b1648ce" name="Values Only?" type="Decision"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><loginhibit /><display x="15" y="-30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Values Only]" /><ontrue>5bd5a242-a414-4d49-b093-0eb8d3978f8a</ontrue><onfalse>f98e8dcf-bff1-418a-9963-4878022c7391</onfalse></stage><stage stageid="f98e8dcf-bff1-418a-9963-4878022c7391" name="Paste Option" type="Calculation"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><loginhibit /><display x="120" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>24bf06a1-fd8f-4cd3-bab6-e05552f8bdba</onsuccess><calculation expression="-4104" stage="Paste Option" /></stage><stage stageid="8e80a8c9-867f-46fa-ace9-d251af38eeed" name="Paste Option" type="Data"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><display x="-195" y="135" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5bd5a242-a414-4d49-b093-0eb8d3978f8a" name="Paste Option" type="Calculation"><subsheetid>035d5ed0-2f39-46ca-80c1-b0127418dc9e</subsheetid><loginhibit /><display x="15" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>24bf06a1-fd8f-4cd3-bab6-e05552f8bdba</onsuccess><calculation expression="-4163" stage="Paste Option" /></stage><stage stageid="7f2dfa02-938c-4179-9e22-216057d33f43" name="Cut" type="SubSheetInfo"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><narrative>Cut cells from the workbook.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="f2f20301-ebd9-4fbd-9b94-ca2074e69294" name="End" type="End"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="d29233ea-0e94-44a4-864c-f32568e42c4b" name="Handle" type="Data"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="59232dab-20a4-4e84-8a43-e2016ef6a74c" name="Workbook" type="Data"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6d6c212b-fd48-44cf-a931-8c99060d29cc" name="Start" type="Start"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /></inputs><onsuccess>3dcf0167-85d1-4170-b214-86784cbcab65</onsuccess></stage><stage stageid="581ece97-ebdc-4855-8fdf-45290b4e587d" name="Success?" type="Decision"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><loginhibit /><display x="15" y="30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>f2f20301-ebd9-4fbd-9b94-ca2074e69294</ontrue><onfalse>797b7b44-cd61-4d3c-8874-82e44868ea1b</onfalse></stage><stage stageid="797b7b44-cd61-4d3c-8874-82e44868ea1b" name="Exception" type="Exception"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><display x="120" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to cut selection: &quot; &amp; [Message]" /></stage><stage stageid="3556655c-d270-4054-a989-b2f44854a7ba" name="Success" type="Data"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><display x="-195" y="105" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9e9b9ba3-e800-4df7-bc87-db6b36f846c9" name="Message" type="Data"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><display x="-195" y="135" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3dcf0167-85d1-4170-b214-86784cbcab65" name="Cut Selection" type="Code"><subsheetid>5eee765d-c84b-493f-9132-f6a27f296d0e</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>581ece97-ebdc-4855-8fdf-45290b4e587d</onsuccess><code><![CDATA[Dim wb, excel, range As Object

Try

wb = GetWorkbook(Handle, Workbook)
excel = wb.Application
range = excel.Selection
range.Cut

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	wb = Nothing
	excel = Nothing
	range = Nothing
End Try]]></code></stage><stage stageid="fc13a15a-74aa-47dc-af68-38bea19af981" name="Protect Workbook" type="SubSheetInfo"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><narrative>Protects the workbook so that it is encrypted with a password.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="0e32102b-7c0a-4f3e-9fe7-cc267fede407" name="Handle" type="Data"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="03b0377d-35e5-4a7d-b16c-756d690843ee" name="Workbook" type="Data"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b1610a1c-3532-4a88-8732-39cbfb4495f4" name="Start" type="Start"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /><input type="password" name="Password" narrative="The password of the workbook." stage="Password" /></inputs><onsuccess>e47e5f86-b7d0-409e-bf2a-6673cf28bac7</onsuccess></stage><stage stageid="de93c65e-11ae-4507-b8bf-da3f09910f82" name="Password" type="Data"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>password</datatype><initialvalueenc></initialvalueenc><private /><alwaysinit /></stage><stage stageid="e47e5f86-b7d0-409e-bf2a-6673cf28bac7" name="Protect Workbook" type="Code"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="password" name="Password" expr="[Password]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>09dd5e11-1dd3-4f18-bbe0-ed52d1f79fb0</onsuccess><code><![CDATA[Dim wb As Object

Try

wb = GetWorkbook(Handle, Workbook)
wb.Protect(Password, True, True)

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	wb = Nothing
End Try]]></code></stage><stage stageid="6a177cf9-5ec0-481d-84e9-c5d72177038d" name="Hide Worksheet" type="SubSheetInfo"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><narrative>Hides worksheet so that is not visible.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="0cc70266-582a-410c-9c3a-29ff9dfb795e" name="Handle" type="Data"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4cf25a3a-b4dd-4b80-8339-06b9d63e56e6" name="Workbook" type="Data"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e8889824-2e30-472c-bb9a-4daad82560f3" name="Worksheet" type="Data"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2d9d6921-9f68-4152-be57-8b0df6472eda" name="Start" type="Start"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /><input type="text" name="Worksheet" narrative="The name of the worksheet." stage="Worksheet" /></inputs><onsuccess>298fe33e-bd86-4109-8540-f1abe8d02eb8</onsuccess></stage><stage stageid="4a51d886-d307-4904-8ce4-98191c734a17" name="End" type="End"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="09dd5e11-1dd3-4f18-bbe0-ed52d1f79fb0" name="Success?" type="Decision"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><loginhibit /><display x="15" y="30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>4a51d886-d307-4904-8ce4-98191c734a17</ontrue><onfalse>fbeb4a74-fc5f-431f-b150-15549afc2a22</onfalse></stage><stage stageid="fbeb4a74-fc5f-431f-b150-15549afc2a22" name="Exception" type="Exception"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><display x="120" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to protect workbook: &quot; &amp; [Message]" /></stage><stage stageid="298fe33e-bd86-4109-8540-f1abe8d02eb8" name="Hide Worksheet" type="Code"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="text" name="Worksheet" expr="[Worksheet]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>66ad2075-9b87-44be-9c6d-0a702d752f57</onsuccess><code><![CDATA[Dim ws As Object

Try

ws = GetWorkSheet(Handle, Workbook, Worksheet)
ws.Visible = False

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	ws = Nothing
End Try]]></code></stage><stage stageid="c2e5c7e9-93a1-489e-a870-523042f050f1" name="End" type="End"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="66ad2075-9b87-44be-9c6d-0a702d752f57" name="Success?" type="Decision"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><loginhibit /><display x="15" y="30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>c2e5c7e9-93a1-489e-a870-523042f050f1</ontrue><onfalse>7dca362f-2e45-443b-adc7-9075f02fc717</onfalse></stage><stage stageid="7dca362f-2e45-443b-adc7-9075f02fc717" name="Exception" type="Exception"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><display x="120" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to protehide worksheet: &quot; &amp; [Message]" /></stage><stage stageid="c3b30035-3883-4740-9cf0-49e967ad6306" name="Success" type="Data"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><display x="-195" y="75" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ff6900f6-3524-4b24-be71-4d12c2d4c77e" name="Message" type="Data"><subsheetid>c37e9923-b729-471b-80b1-7d44113ca618</subsheetid><display x="-195" y="105" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="cea8af9d-95ea-4c09-9932-adc8cc633db6" name="Success" type="Data"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><display x="-195" y="75" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b7888130-7082-4f05-8864-3f0709675831" name="Message" type="Data"><subsheetid>7316eded-6aed-4d1d-9eeb-64fbbb8e53a0</subsheetid><display x="-195" y="105" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9b9509a6-dfc6-4f25-9474-dba6e8b7ed20" name="Hide Other Worksheets" type="SubSheetInfo"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><narrative>Hide all other worksheets so that they are not visible.</narrative><display x="-480" y="-1020" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="a81bb6df-46b8-4641-8531-802be8934741" name="Handle" type="Data"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><display x="-480" y="-945" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="f349c5cb-454b-448c-b225-5c474ae4e52d" name="Workbook" type="Data"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><display x="-480" y="-915" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="999117c1-6fa6-4172-9512-78106c277a38" name="Worksheet" type="Data"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><display x="-480" y="-885" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6444d8d9-7f26-4eb5-ab31-c98706e6209a" name="Start" type="Start"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><loginhibit /><display x="-270" y="-1020" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /><input type="text" name="Worksheet" narrative="The name of the worksheet." stage="Worksheet" /></inputs><onsuccess>c5ca2626-02e2-4413-9476-9958c1b7b717</onsuccess></stage><stage stageid="c5ca2626-02e2-4413-9476-9958c1b7b717" name="Hide Other Worksheets" type="Code"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><loginhibit /><display x="-270" y="-960" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="text" name="Worksheet" expr="[Worksheet]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>36529e74-e353-4cbd-b6ff-3591c0390efd</onsuccess><code><![CDATA[Dim wb As Object

Try

wb = GetWorkbook(Handle, Workbook)

For Each ws As Object In wb.Worksheets
	ws.Visible = (ws.Name = Worksheet)
Next

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	wb = Nothing
End Try]]></code></stage><stage stageid="52e20387-128e-4f5c-b182-7d28a9005a71" name="End" type="End"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><loginhibit /><display x="-270" y="-810" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="36529e74-e353-4cbd-b6ff-3591c0390efd" name="Success?" type="Decision"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><loginhibit /><display x="-270" y="-885" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>52e20387-128e-4f5c-b182-7d28a9005a71</ontrue><onfalse>c5840684-3348-4ee6-a024-dda79500a851</onfalse></stage><stage stageid="c5840684-3348-4ee6-a024-dda79500a851" name="Exception" type="Exception"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><display x="-165" y="-885" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to hide worksheets: &quot; &amp; [Message]" /></stage><stage stageid="089eef49-c020-4aea-929e-4d1ae4282215" name="Success" type="Data"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><display x="-480" y="-840" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="370e2ccf-3010-44ea-9155-06babd5e856c" name="Message" type="Data"><subsheetid>e62b9c20-62f8-4d28-8f19-de7610e56e1e</subsheetid><display x="-480" y="-810" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4996af5e-0cc1-4e24-aedf-20320350469e" name="Import CSV" type="SubSheetInfo"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><narrative>Import CSV worksheets into a workbook using a path.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="b4b14657-a0f4-4c85-9466-5146878dfbe7" name="Handle" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="bbfe7495-0fef-4c22-a251-88166b8485d4" name="Workbook" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3c0e661b-9b74-4d25-9a8b-1da52f957ed2" name="Worksheet" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8df3e95e-4a03-4e0a-a649-37fb1d17ff41" name="Start" type="Start"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Destination Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Destination Workbook" narrative="The name of the workbook that the CSV is imported to." stage="Workbook" /><input type="text" name="Destination Worksheet" narrative="The name of the worksheet that the CSV is imported to." stage="Worksheet" /><input type="text" name="Destination Range" narrative="The destination range of where the CSV will be imported into the worksheet," stage="Range" /><input type="text" name="Source File Path" narrative="The file path of the CSV file to be imported." stage="Path" /><input type="text" name="Source Text Qualifier" narrative="The source text of the CSV to be imported." stage="Qualifier" /></inputs><onsuccess>a09cfa98-b04d-472f-ad84-87e6a0bdb011</onsuccess></stage><stage stageid="7803cce6-3095-4d46-9cd2-793181eb080d" name="Import CSV" type="Code"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><loginhibit /><display x="120" y="135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="text" name="Worksheet" expr="[Worksheet]" /><input type="text" name="Range" expr="[Range]" /><input type="text" name="Path" expr="[Path]" /><input type="number" name="Qualifier" expr="[Qualifier Code]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>91f84fae-ca36-4b8b-8221-bc3e95cd2ef3</onsuccess><code><![CDATA[Dim dw, ds, dr, qt As Object

Try

dw = GetWorkbook(Handle, Workbook)
ds = GetWorksheet(Handle, Workbook, Worksheet)
dr = ds.Range(Range)
qt = ds.QueryTables.Add(Connection:="TEXT;" & Path, Destination:=dr)

With qt
	.FieldNames = True
	.RowNumbers = False
	.FillAdjacentFormulas = False
	.PreserveFormatting = True
	.RefreshOnFileOpen = False
	.RefreshStyle = 1 'xlInsertDeleteCells
	.SavePassword = False
	.SaveData = True
	.AdjustColumnWidth = True
	.RefreshPeriod = 0
	.TextFilePromptOnRefresh = False
	.TextFilePlatform = 437
	.TextFileStartRow = 1
	.TextFileParseType = 1 'xlDelimited
	.TextFileTextQualifier = Qualifier
	.TextFileConsecutiveDelimiter = False
	.TextFileTabDelimiter = False
	.TextFileSemicolonDelimiter = False
	.TextFileCommaDelimiter = True
	.TextFileSpaceDelimiter = False
	.TextFileTrailingMinusNumbers = True
End With
qt.Refresh(False)

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	dw = Nothing
	ds = Nothing
	dr = Nothing
	qt = Nothing
End Try]]></code></stage><stage stageid="bfe990bf-be29-4c21-ac04-96a798ab1827" name="End" type="End"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><loginhibit /><display x="120" y="285" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="91f84fae-ca36-4b8b-8221-bc3e95cd2ef3" name="Success?" type="Decision"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><loginhibit /><display x="120" y="210" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>bfe990bf-be29-4c21-ac04-96a798ab1827</ontrue><onfalse>6aaf6a41-be76-442d-9c2b-06905c4e0355</onfalse></stage><stage stageid="6aaf6a41-be76-442d-9c2b-06905c4e0355" name="Exception" type="Exception"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="225" y="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to import CSV: &quot; &amp; [Message]" /></stage><stage stageid="af967b8b-4ec8-4202-ac07-6acbf9d12d46" name="Success" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="210" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5335f808-6164-4249-9a2c-682294b9834c" name="Message" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="240" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="955e0188-d711-476b-b15b-1362ba3b0ea4" name="Path" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="90" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="cef84711-b0a0-4f04-a09d-a6e9637ea2cb" name="Qualifier" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="120" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a09cfa98-b04d-472f-ad84-87e6a0bdb011" name="Double Quote Qualifier?" type="Decision"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><loginhibit /><display x="15" y="-30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Qualifier]=&quot;&quot;&quot;&quot;" /><ontrue>b0e18e5b-791a-492a-b6c6-112ed2cdf10f</ontrue><onfalse>6e036392-ff83-4dfa-94fe-ff1ed03cd9bc</onfalse></stage><stage stageid="b0e18e5b-791a-492a-b6c6-112ed2cdf10f" name="Qualifier Code" type="Calculation"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><loginhibit /><display x="120" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>7803cce6-3095-4d46-9cd2-793181eb080d</onsuccess><calculation expression="1" stage="Qualifier Code" /></stage><stage stageid="f9eb7145-ee8c-41cc-8ea2-2417adbcd435" name="Qualifier Code" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="180" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="fc2b8ffb-c597-4ede-8134-1cc80a2c3293" name="Qualifier Code" type="Calculation"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><loginhibit /><display x="15" y="135" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>7803cce6-3095-4d46-9cd2-793181eb080d</onsuccess><calculation expression="-4142" stage="Qualifier Code" /></stage><stage stageid="6e036392-ff83-4dfa-94fe-ff1ed03cd9bc" name="Note2" type="Note"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><loginhibit /><narrative>Assume no text qualifier</narrative><display x="15" y="60" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>fc2b8ffb-c597-4ede-8134-1cc80a2c3293</onsuccess></stage><stage stageid="70744683-2ca9-4e9a-89b9-194945f98e32" name="Range" type="Data"><subsheetid>1487aa65-ac8a-44e9-a6e9-8b16b4be5199</subsheetid><display x="-195" y="60" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5c8e00b5-ec48-479b-8abf-6a6658752cb5" name="Get Worksheet Name" type="SubSheetInfo"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><narrative>Gets the name of the worksheet.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="2af2843d-00f3-464f-ab67-305ae6ccf858" name="End" type="End"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><loginhibit /><display x="15" y="105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="Worksheet" narrative="The output data - the name of the worksheet." stage="Worksheet" /></outputs></stage><stage stageid="26c465a5-f001-4ff8-ac21-28437489e85f" name="Handle" type="Data"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2de7e6b6-6118-4b3f-ba2b-179ba64d95d8" name="Workbook" type="Data"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5ee8f628-7829-42f7-ac8c-672d78be654f" name="Worksheet" type="Data"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><display x="-195" y="90" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c752debc-3eea-4935-a460-f8eb77039d5d" name="Start" type="Start"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance on which the number of rows is required. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /><input type="number" name="Worksheet Position" narrative="The position of the worksheet." stage="Position" /></inputs><onsuccess>ba712112-b784-4f87-a7ff-5a8721aca35d</onsuccess></stage><stage stageid="ba712112-b784-4f87-a7ff-5a8721aca35d" name="Get Worksheet" type="Code"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><loginhibit /><display x="15" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="number" name="Position" expr="[Position]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /><output type="text" name="Worksheet" stage="Worksheet" /></outputs><onsuccess>39f8ebfd-a1e8-4517-add5-653f475fe8eb</onsuccess><code><![CDATA[Dim wb, ws As Object

Try

wb = GetWorkbook(Handle, Workbook)
ws = wb.Worksheets(Position)
Worksheet = ws.Name

Success = True

Catch e As Exception
   position = -1
	Success = False
	Message = e.Message
Finally
	wb = Nothing
	ws = Nothing
End Try]]></code></stage><stage stageid="2cbe9309-244f-45ae-8716-0d02bf738530" name="Position" type="Data"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="27d60ef1-833c-44f5-b5ab-0aefb2c0581c" name="Success?" type="Decision"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><loginhibit /><display x="15" y="30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>4235fac3-2295-4511-828e-090e9c888d38</ontrue><onfalse>8edc5ff8-0139-409d-ba63-7f23bf726964</onfalse></stage><stage stageid="8edc5ff8-0139-409d-ba63-7f23bf726964" name="Exception" type="Exception"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><display x="120" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to get worksheet position: &quot; &amp; [Message]" /></stage><stage stageid="39f8ebfd-a1e8-4517-add5-653f475fe8eb" name="Success?" type="Decision"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><loginhibit /><display x="15" y="30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>2af2843d-00f3-464f-ab67-305ae6ccf858</ontrue><onfalse>636399b4-ec2b-41a7-ac41-27e98637df4c</onfalse></stage><stage stageid="636399b4-ec2b-41a7-ac41-27e98637df4c" name="Exception" type="Exception"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><display x="120" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to get worksheet name: &quot; &amp; [Message]" /></stage><stage stageid="69b153d1-9bd9-4c51-8b96-d45c1112bbfb" name="Success" type="Data"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><display x="-195" y="120" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="464ca930-cf54-4147-8041-1007cc2416b6" name="Message" type="Data"><subsheetid>b39f7ce9-ba76-4a8c-a404-bccf4c9ffe67</subsheetid><display x="-195" y="150" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="def46f81-3f9f-421d-91cf-f12583e956d3" name="Success" type="Data"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><display x="-195" y="120" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="1195aa37-1cbe-4f02-9d00-c39f3e304cfc" name="Message" type="Data"><subsheetid>510b0ce5-bf46-43a1-86a4-72877f427e6f</subsheetid><display x="-195" y="150" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5222003b-5cb9-4669-bc35-96d41b028249" name="Insert" type="SubSheetInfo"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><narrative>Insert cells into the workbook.</narrative><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="7c868cff-a594-49f6-bde7-fc3ba2cd17c6" name="End" type="End"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><loginhibit /><display x="120" y="195" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="6c34b4fa-4824-48bf-ae2a-b709a25cec17" name="Handle" type="Data"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><display x="-195" y="-30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3dc53e03-3a4f-4ca9-ba70-17573564d976" name="Workbook" type="Data"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><display x="-195" y="0" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="89909450-cca0-4546-bbbc-32cbd4c609bc" name="Start" type="Start"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Workbook" narrative="The name of the workbook." stage="Workbook" /><input type="text" name="Shift (Left or Up)" narrative="The shift type to be used to insert cells." stage="Shift" /></inputs><onsuccess>1f31ede9-3b32-4aaf-9b55-573cb227a850</onsuccess></stage><stage stageid="dc1f9d40-b099-44c3-a2c1-e782413b0914" name="Insert" type="Code"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><loginhibit /><display x="120" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Workbook" expr="[Workbook]" /><input type="number" name="Shift Type" expr="[Shift Type]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Message" stage="Message" /></outputs><onsuccess>be039ecb-6427-4a80-8a91-9b69561fc2de</onsuccess><code><![CDATA[Dim wb, excel, range As Object

Try

wb = GetWorkbook(Handle, Workbook)
excel = wb.Application

range = excel.Selection
range.Insert(Shift:=[Shift_Type])

Success = True

Catch e As Exception
	Success = False
	Message = e.Message
Finally
	wb = Nothing
	excel = Nothing
	range = Nothing
End Try]]></code></stage><stage stageid="be039ecb-6427-4a80-8a91-9b69561fc2de" name="Success?" type="Decision"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><loginhibit /><display x="120" y="120" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="[Success]" /><ontrue>7c868cff-a594-49f6-bde7-fc3ba2cd17c6</ontrue><onfalse>741cc1d1-3936-4201-ad74-e95993e64b92</onfalse></stage><stage stageid="741cc1d1-3936-4201-ad74-e95993e64b92" name="Exception" type="Exception"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><display x="225" y="120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><exception type="" detail="&quot;Failed to delete selection: &quot; &amp; [Message]" /></stage><stage stageid="aac1165a-4574-4834-a68e-18db8cdd0216" name="Success" type="Data"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><display x="-195" y="150" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="52ea365d-8434-45cb-97ba-cd7c741b7c7c" name="Message" type="Data"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><display x="-195" y="180" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="fd2ee59b-4044-4f2c-8439-05e1a9b23c7d" name="Shift" type="Data"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><display x="-195" y="30" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="1f31ede9-3b32-4aaf-9b55-573cb227a850" name="Shift Left?" type="Decision"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><loginhibit /><display x="15" y="-30" w="90" h="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><decision expression="Trim(Upper([Shift]))=&quot;LEFT&quot;" /><ontrue>594ef012-6d63-4256-a43c-dd84c172ad15</ontrue><onfalse>21ff25a4-b431-43fb-af46-02fff92627e7</onfalse></stage><stage stageid="594ef012-6d63-4256-a43c-dd84c172ad15" name="Shift Type" type="Calculation"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><loginhibit /><display x="120" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>dc1f9d40-b099-44c3-a2c1-e782413b0914</onsuccess><calculation expression="-4161" stage="Shift Type" /></stage><stage stageid="c07375e4-4e0d-4a0d-b7b2-d1bab9884769" name="Shift Type" type="Data"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><display x="-195" y="120" w="150" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="21ff25a4-b431-43fb-af46-02fff92627e7" name="Shift Type" type="Calculation"><subsheetid>659749b0-1f00-4e33-956d-6be6172a8739</subsheetid><loginhibit /><display x="15" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>dc1f9d40-b099-44c3-a2c1-e782413b0914</onsuccess><calculation expression="-4121" stage="Shift Type" /></stage><stage stageid="53f2c5f2-ac8f-40c2-ace8-24614c6d3676" name="Run Macro" type="SubSheetInfo"><subsheetid>4229da44-68c0-4b51-9d2c-08be4a9d6727</subsheetid><narrative>Runs the specified macro.

Depending on how the macro has been created the name will be one of the following:

A. Just the macro name
e.g. MyMacro

B. The workbook and macro name
e.g. MyWorkbook.xls!MyMacro

C. The workbook, worksheet and the macro name
e.g. 'MyWorkbook.xls!'MyWorksheet.MyMacro</narrative><display x="-225" y="-15" w="300" h="210" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="da9401ad-8267-4f76-bb0d-02d380427eb5" name="Start" type="Start"><subsheetid>4229da44-68c0-4b51-9d2c-08be4a9d6727</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" narrative="The integer handle identifying the instance that contains the macro. The default of zero indicates the currently active instance." stage="Handle" /><input type="text" name="Macro Name" narrative="The name of the macro to run" stage="Macro Name" /></inputs><onsuccess>a19d33b9-0a8b-4fb1-b333-7fb65c7733ab</onsuccess></stage><stage stageid="0a6413b8-4ce8-4399-b3e2-974e44d812af" name="End" type="End"><subsheetid>4229da44-68c0-4b51-9d2c-08be4a9d6727</subsheetid><loginhibit /><display x="15" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="a19d33b9-0a8b-4fb1-b333-7fb65c7733ab" name="Run Macro" type="Code"><subsheetid>4229da44-68c0-4b51-9d2c-08be4a9d6727</subsheetid><loginhibit /><display x="15" y="-15" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="number" name="Handle" expr="[Handle]" /><input type="text" name="Macro Name" expr="[Macro Name]" /></inputs><onsuccess>0a6413b8-4ce8-4399-b3e2-974e44d812af</onsuccess><code><![CDATA[GetInstance(Handle).Run(Macro_Name)]]></code></stage><stage stageid="669163d5-5b66-446d-84fc-ddaaccf6ecc8" name="Handle" type="Data"><subsheetid>4229da44-68c0-4b51-9d2c-08be4a9d6727</subsheetid><loginhibit /><display x="165" y="-105" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>0</initialvalue><private /><alwaysinit /></stage><stage stageid="d95761c1-c5f3-46a0-8b86-7f90e58418cc" name="Macro Name" type="Data"><subsheetid>4229da44-68c0-4b51-9d2c-08be4a9d6727</subsheetid><loginhibit /><display x="165" y="-60" w="90" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="58d3ca4f-4467-492d-b85a-fd7ab4271110" name="Activate Worksheet" type="SubSheet"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><loginhibit /><display x="135" y="-60" w="150" h="30" /><inputs><input type="number" name="handle" narrative="The integer handle identifying the instance on which the worksheet which should be activated resides. The default of zero indicates the currently active instance." expr="[handle]" /><input type="text" name="Workbook Name" narrative="The name of the workbook in which the sheet exists - The default empty value indicates the currently active workbook on the specified instance." expr="[workbookname]" /><input type="text" name="Worksheet Name" narrative="The name of the sheet which should be activated. The default empty text value indicates that the currently active sheet should be, er, activated, making this a no-op." expr="[worksheetname]" /><input type="flag" name="Create If Missing?" narrative="True to create the sheet if it isn't present on the specified workbook; False to not do so." expr="False" /></inputs><onsuccess>680eac96-2bd0-4d02-a62b-ac7bf684dae9</onsuccess><processid>733c2840-8162-465a-a8f2-7d023087c369</processid></stage><stage stageid="31fdd089-280c-4f33-ba2b-a9b52b556682" name="Open Active Instance" type="Block"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="105" y="-255" w="360" h="375" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="c478137a-cdb0-4cd8-bb73-fe4c052d6200" name="Timeout" type="Data"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><display x="-210" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>30</initialvalue><private /><alwaysinit /></stage><stage stageid="9474db50-6935-47fa-b862-4aa1a49143f8" name="CheckTimeout" type="Code"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="375" y="-165" w="120" h="30" /><outputs><output type="flag" name="TimeoutOccoured" stage="Timeout Occoured" /></outputs><onsuccess>6af35f22-949f-47dd-8517-78b00d73f8d9</onsuccess><code><![CDATA[TimeoutOccoured = TypeOf mLastException Is TimeoutException
mLastException = Nothing]]></code></stage><stage stageid="6af35f22-949f-47dd-8517-78b00d73f8d9" name="Timeout Occoured?" type="Decision"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="375" y="-120" w="90" h="30" /><decision expression="[Timeout Occoured]" /><ontrue>40a1c81a-4d1f-484f-bcde-c2cc59d83dbd</ontrue><onfalse>59ebf811-1faf-4486-8630-6d2de19027f5</onfalse></stage><stage stageid="40a1c81a-4d1f-484f-bcde-c2cc59d83dbd" name="Anchor1" type="Anchor"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><loginhibit /><display x="570" y="-120" w="10" h="10" /><onsuccess>567674ba-270a-4107-ada5-1dae59125522</onsuccess></stage><stage stageid="3bd76d6f-b60f-4a9d-9293-19a63314f33e" name="Timeout Occoured" type="Data"><subsheetid>ec281dc5-ed57-4b8b-9bf5-212e314657aa</subsheetid><display x="-210" y="105" w="120" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4fa207ba-9e59-4717-8a0e-f28210974ff9" name="Timeout" type="Data"><subsheetid>6e7cb0ad-5910-4065-aab2-2919726bae39</subsheetid><display x="-195" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>30</initialvalue><private /><alwaysinit /></stage><stage stageid="e87e0c42-73bb-43a9-9fb1-0c07d02391e1" name="Timeout" type="Data"><subsheetid>21a53e34-8128-41cb-ad73-17250758ff23</subsheetid><display x="-255" y="105" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>30</initialvalue><private /><alwaysinit /></stage><stage stageid="04901364-93ea-4b62-a8ea-471525e3d12d" name="Timeout" type="Data"><subsheetid>6ccaae8b-c06f-45c8-8772-835218881458</subsheetid><loginhibit /><display x="-465" y="255" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>30</initialvalue><private /><alwaysinit /></stage><stage stageid="c14b670d-b87c-43c9-a54f-7653da70eb83" name="Timeout" type="Data"><subsheetid>2fb01e3f-e275-43bc-83eb-579001da335b</subsheetid><display x="-210" y="150" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>30</initialvalue><private /><alwaysinit /></stage><stage stageid="7cef178b-10af-4ed1-8400-e41a9640bc73" name="Timeout" type="Data"><subsheetid>6ec3006a-6553-4526-b522-32526c4aa3cc</subsheetid><display x="-210" y="60" w="120" h="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>number</datatype><initialvalue>30</initialvalue><private /><alwaysinit /></stage><stage stageid="3a73f260-90db-458b-8d72-ef07a38548f1" name="Timeout" type="Data"><subsheetid>9f7a4a91-68c9-4871-bb65-417e96cc4ad1</subsheetid><loginhibit /><display x="-195" y="105" /><datatype>number</datatype><initialvalue>30</initialvalue><private /><alwaysinit /></stage><stage stageid="684b23a1-3d16-4db8-a54b-5925cf13321d" name="Use Header" type="Data"><subsheetid>f92e2a34-0aa8-4ca1-b4ac-5dce2318ec5e</subsheetid><display x="330" y="-120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>flag</datatype><initialvalue>True</initialvalue><private /><alwaysinit /></stage><stage stageid="b12c3527-d491-4e7d-a2f0-da0a1ea7b44d" name="fetchDataWithMethod" type="Data"><subsheetid>8e22a2d9-d4c3-4fe0-bbf0-4788d1812d30</subsheetid><display x="-195" y="150" w="120" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">Value</initialvalue><private /><alwaysinit /></stage></process></object>
        <object id="d39ef435-da5c-4e38-a846-b903b2cf3d8e" name="Utility - JSON" xmlns="http://www.blueprism.co.uk/product/process"><process name="Utility - JSON" version="6.10.0.30674" bpversion="6.10.0.30674" narrative="An object for parsing JSON into a collection and turning a collection into JSON." byrefcollection="true" type="object" runmode="Exclusive"><appdef><element name="Application Root"><id>8f20ac0c-296f-43c3-b0d9-59b5b2b7da1c</id><type>Application</type><basetype>Application</basetype><datatype>unknown</datatype><diagnose>False</diagnose></element></appdef><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view><preconditions /><endpoint narrative="" /><subsheet subsheetid="6a9ccb5a-8cc3-44ac-b343-39680558062f" type="CleanUp" published="True"><name>Clean Up</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="560472b9-cea4-41d5-bc36-c49d6c1b26e6" type="Normal" published="True"><name>Collection to JSON</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="e5aeb4cb-cd25-4535-b3be-b46681b4e6b6" type="Normal" published="True"><name>JSON to Collection</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="e53062c7-68de-4763-b37a-456688d0d607" type="Normal" published="True"><name>JSON to Collection (skipping JArray)</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><stage stageid="222ee4c2-914e-4b2b-8e13-443c1c76b3dd" name="Start" type="Start"><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>ff6524a3-da73-439c-a4ba-2aabb994009c</onsuccess></stage><stage stageid="ff6524a3-da73-439c-a4ba-2aabb994009c" name="End" type="End"><loginhibit /><display x="15" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="7fd071f3-6769-4dd5-95cf-a911c73c42ff" name="Stage1" type="ProcessInfo"><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /><references><reference>System.Data.dll</reference><reference>System.Xml.dll</reference><reference>System.Drawing.dll</reference><reference>Newtonsoft.Json.dll</reference><reference>System.Core.dll</reference></references><imports><import>System.Data</import><import>System.Drawing</import><import>Newtonsoft.Json</import><import>System.Collections.Generic</import><import>System.Text</import><import>System.IO</import><import>System</import><import>Newtonsoft.Json.Linq</import><import>System.Collections</import><import>System.Linq</import></imports><language>visualbasic</language><globalcode><![CDATA[]]></globalcode><code><![CDATA[    Private Class JSON
        Public Const Array As String = "JSON:Array"
        Public Const Null As String = "JSON:Null"
    End Class
    
    Private mUseNewParseMethod As Boolean

    Public Function ConvertToJSON(ByVal dt As DataTable) As String
        Dim o As Object = SerialiseGeneric(dt, True)
        Return JsonConvert.SerializeObject(o)
    End Function

    Public Function SerialiseGeneric(ByVal o As Object, ByVal removeArray As Boolean) As Object
        Dim dt As DataTable = TryCast(o, DataTable)
        If dt IsNot Nothing Then
            Return SerialiseDataTable(dt)
        End If

        Dim dr As DataRow = TryCast(o, DataRow)
        If dr IsNot Nothing Then
            Return SerialiseDataRow(dr, removeArray)
        End If

        Dim s As String = TryCast(o, String)
        If s IsNot Nothing AndAlso s = JSON.Null Then
            Return Nothing
        End If

        If o IsNot Nothing Then
            Return o
        End If

        Return Nothing
    End Function

    Public Function SerialiseDataTable(ByVal dt As DataTable) As Object
        If  IsSingleRow(dt) Then
            Return SerialiseGeneric(dt.Rows(0), False)
        Else
            Dim ja As New JArray()
            For Each r As DataRow In dt.Rows
                ja.Add(SerialiseGeneric(r, True))
            Next
            Return ja
        End If
    End Function

    Public Function IsSingleRow(ByVal dt As DataTable) As Boolean
        If dt.ExtendedProperties.Contains("SingleRow") Then
            Return CBool(dt.ExtendedProperties("SingleRow"))
        End If
        'Fallback for older versions of blueprism
        Return dt.Rows.Count = 1
    End Function

    Public Function SerialiseDataRow(ByVal dr As DataRow, ByVal removeArray As Boolean) As Object
        Dim jo As New JObject()
        For Each c As DataColumn In dr.Table.Columns
            Dim s As String = c.ColumnName
            If removeArray AndAlso s = JSON.Array Then
                Return SerialiseGeneric(dr(s), True)
            End If
            jo(s) = JToken.FromObject(SerialiseGeneric(dr(s), False))
        Next
        Return jo
    End Function

    Public Function ConvertToDataTable(ByVal json As String) As DataTable
        Dim o As Object = JsonConvert.DeserializeObject(json)
        Return DirectCast(DeserialiseGeneric(o, True), DataTable)
    End Function

    Private Function DeserialiseGeneric(ByVal o As Object, ByVal populate As Boolean) As Object
        Dim a As JArray = TryCast(o, JArray)
        If a IsNot Nothing Then
            Return If(mUseNewParseMethod,
                DeserialiseArrayWithoutJArray(a, populate),
                DeserialiseArray(a, populate)
            )
        End If

        Dim jo As JObject = TryCast(o, JObject)
        If jo IsNot Nothing Then
            Return DeserialiseObject(jo, populate)
        End If

        Dim jv As JValue = TryCast(o, JValue)
        If jv IsNot Nothing Then
            Return jv.Value
        End If

        Return JSON.Null
    End Function

    Private Function GetKey(ByVal kv As KeyValuePair(Of String, JToken)) As String
        If kv.Key IsNot Nothing Then
            Return kv.Key.ToString()
        End If
        Return ""
    End Function


    Private Function DeserialiseObject(ByVal o As JObject, ByVal populate As Boolean) As DataTable
        Dim dt As New DataTable

        For Each kv As KeyValuePair(Of String, JToken) In o
            Dim type As Type = GetTypeOf(DeserialiseGeneric(kv.Value, False))
            dt.Columns.Add(GetKey(kv), type)
        Next

        If populate Then
            Dim dr As DataRow = dt.NewRow()
            For Each kv As KeyValuePair(Of String, JToken) In o
                dr(getKey(kv)) = DeserialiseGeneric(kv.Value, True)
            Next
            dt.Rows.Add(dr)
        End If

        Return dt
    End Function

    Private Function DeserialiseArrayWithoutJArray(ByVal jarr As JArray, ByVal populate As Boolean) As DataTable
        Dim dt As New DataTable

        Dim first As Type = Nothing
        For Each e As Object In jarr
            If first Is Nothing Then
                first = GetTypeOf(DeserialiseGeneric(e, False))
            End If
            If GetTypeOf(DeserialiseGeneric(e, False)) IsNot first Then
                Throw New Exception("Data Type mismatch in array")
            End If
        Next

        Dim columns As New Specialized.OrderedDictionary()
        Dim allTypesInColumnsMatch = jarr.All(
            Function(e)
                If Not TypeOf e Is JObject Then Return False
                For Each pair As KeyValuePair(Of String, JToken) In DirectCast(e, JObject)
                    Dim val As Object = pair.Value
                    If TypeOf val Is JValue Then val = CType(val, JValue).Value
                    Dim tp = If(val, CObj("")).GetType()

                    If columns.Contains(pair.Key) Then
                        If tp <> columns(pair.Key) Then Return False
                    Else
                        columns(pair.Key) = tp
                    End If
                Next
                Return True

            End Function
        )

        If allTypesInColumnsMatch Then
            For Each pair As DictionaryEntry In columns
                Dim key As String = CStr(pair.Key)
                Dim tp as Type = CType(pair.Value, Type)
                If tp = GetType(JObject) OrElse tp = GetType(JArray) Then
                    dt.Columns.Add(key, GetType(DataTable))
                Else
                    dt.Columns.Add(key, tp)
                End If
            Next
        ElseIf first IsNot Nothing Then
            dt.Columns.Add(JSON.Array, first)
        End If

        If populate Then
            For Each e As Object In jarr
                Dim dr As DataRow = dt.NewRow()
                If allTypesInColumnsMatch Then
                    For Each pair As KeyValuePair(Of String, JToken) In DirectCast(e, JObject)
                        dr(pair.Key) = DeserialiseGeneric(pair.Value, True)
                    Next
                Else
                    dr(JSON.Array) = DeserialiseGeneric(e, True)
                End If

                dt.Rows.Add(dr)
            Next
        End If

        Return dt
    End Function

    Private Function DeserialiseArray(ByVal o As JArray, ByVal populate As Boolean) As DataTable
        Dim dt As New DataTable

        Dim first As Type = Nothing
        For Each e As Object In o
            If first Is Nothing Then
                first = GetTypeOf(DeserialiseGeneric(e, False))
            End If
            If GetTypeOf(DeserialiseGeneric(e, False)) IsNot first Then
                Throw New Exception("Data Type mismatch in array")
            End If
        Next
        If first IsNot Nothing Then
            dt.Columns.Add(JSON.Array, first)
        End If

        If populate Then
            For Each e As Object In o
                Dim dr As DataRow = dt.NewRow()
                dr(JSON.Array) = DeserialiseGeneric(e, True)
                dt.Rows.Add(dr)
            Next
        End If

        Return dt
    End Function

    Private Function GetTypeOf(ByVal o As Object) As Type
        If o Is Nothing Then Return GetType(String)
        Return o.GetType
    End Function]]></code></stage><stage stageid="c290e7f4-b01b-4012-9422-044432a3cc82" name="Clean Up" type="SubSheetInfo"><subsheetid>6a9ccb5a-8cc3-44ac-b343-39680558062f</subsheetid><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="662f70f7-7036-462d-b9bf-f35265dd971a" name="Start" type="Start"><subsheetid>6a9ccb5a-8cc3-44ac-b343-39680558062f</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><onsuccess>153f4275-2acd-48a5-b6e6-409fcb2441a8</onsuccess></stage><stage stageid="153f4275-2acd-48a5-b6e6-409fcb2441a8" name="End" type="End"><subsheetid>6a9ccb5a-8cc3-44ac-b343-39680558062f</subsheetid><loginhibit /><display x="15" y="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="885aaf30-a216-44c5-975b-ca58ce02f815" name="JSON to Collection" type="SubSheetInfo"><subsheetid>e5aeb4cb-cd25-4535-b3be-b46681b4e6b6</subsheetid><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="e5625896-d966-4a10-aa39-2e85611f490f" name="Start" type="Start"><subsheetid>e5aeb4cb-cd25-4535-b3be-b46681b4e6b6</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="json" stage="json" /></inputs><onsuccess>779de445-0658-4a45-a1ef-a38d6de24429</onsuccess></stage><stage stageid="66526e3e-8b9e-4452-9ca8-f70baa9aec4a" name="End" type="End"><subsheetid>e5aeb4cb-cd25-4535-b3be-b46681b4e6b6</subsheetid><loginhibit /><display x="15" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="collection" name="Result" stage="Result" /></outputs></stage><stage stageid="007e04e2-4ed0-4afd-87d3-c06d79f48d86" name="new" type="Note"><subsheetid>6a9ccb5a-8cc3-44ac-b343-39680558062f</subsheetid><narrative>Clean Up Page

This is an optional page where you might choose to perform some finalisation (or "cleanup") tasks as your business object is closed down.

The cleanup action will be called automatically immediately after closing your business object at the end of a business process.

You will not be able to call this action from a business process, nor will it be called at any other time than before the disposal of the business object.</narrative><display x="-180" y="60" w="180" h="230" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="d92fd7fc-b028-457a-a14a-17d66c4b5513" name="new" type="Note"><narrative>Initialise Page

This is an optional page where you might choose to perform some initialisation tasks after your business object is loaded.

The initialise action will be called automatically immediately after loading your business object.

You will not be able to call this action from a business process, nor will it be called at any other time than after the creation of the object.</narrative><display x="-180" y="60" w="180" h="230" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="779de445-0658-4a45-a1ef-a38d6de24429" name="JSON To Collection" type="Code"><subsheetid>e5aeb4cb-cd25-4535-b3be-b46681b4e6b6</subsheetid><loginhibit /><display x="15" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="json" expr="[json]" /></inputs><outputs><output type="collection" name="result" stage="Result" /></outputs><onsuccess>66526e3e-8b9e-4452-9ca8-f70baa9aec4a</onsuccess><code><![CDATA[result = ConvertToDataTable(json)]]></code></stage><stage stageid="da3984e5-ce52-4649-81c5-a71d452a5ba0" name="json" type="Data"><subsheetid>e5aeb4cb-cd25-4535-b3be-b46681b4e6b6</subsheetid><display x="90" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0e93e91c-85e1-4c75-b74c-52d08c0724e6" name="Collection to JSON" type="SubSheetInfo"><subsheetid>560472b9-cea4-41d5-bc36-c49d6c1b26e6</subsheetid><display x="-195" y="-105" w="150" h="90" /><font family="Tahoma" size="10" style="Regular" color="000000" /></stage><stage stageid="c10fccbd-439b-447d-908a-58f20a540146" name="Start" type="Start"><subsheetid>560472b9-cea4-41d5-bc36-c49d6c1b26e6</subsheetid><loginhibit /><display x="15" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="collection" name="Data" stage="Data" /></inputs><onsuccess>7923115c-5283-4694-b2c1-142afb4d3788</onsuccess></stage><stage stageid="ede1f653-07f1-42eb-8616-8d2d3dfb5244" name="End" type="End"><subsheetid>560472b9-cea4-41d5-bc36-c49d6c1b26e6</subsheetid><loginhibit /><display x="15" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="text" name="JSON" stage="JSON" /></outputs></stage><stage stageid="8f488472-d2dd-4bbc-a98e-07d6a494ab3f" name="Result" type="Collection"><subsheetid>e5aeb4cb-cd25-4535-b3be-b46681b4e6b6</subsheetid><display x="90" y="45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="7923115c-5283-4694-b2c1-142afb4d3788" name="Collection To JSON" type="Code"><subsheetid>560472b9-cea4-41d5-bc36-c49d6c1b26e6</subsheetid><loginhibit /><display x="15" y="-30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="collection" name="data" expr="[Data]" /></inputs><outputs><output type="text" name="json" stage="JSON" /></outputs><onsuccess>ede1f653-07f1-42eb-8616-8d2d3dfb5244</onsuccess><code><![CDATA[json = convertToJSON(data)]]></code></stage><stage stageid="dbeac687-55ba-4b1a-9e9b-1a5f1e763886" name="Data" type="Collection"><subsheetid>560472b9-cea4-41d5-bc36-c49d6c1b26e6</subsheetid><loginhibit /><display x="90" y="-105" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="60425486-0e54-4004-afef-6ccb7e96828d" name="JSON" type="Data"><subsheetid>560472b9-cea4-41d5-bc36-c49d6c1b26e6</subsheetid><display x="75" y="60" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="68820997-9906-40ef-b5f3-325f6f0a25b9" name="JSON to Collection (skipping JArray)" type="SubSheetInfo"><subsheetid>e53062c7-68de-4763-b37a-456688d0d607</subsheetid><display x="-195" y="-105" w="150" h="90" /></stage><stage stageid="14799289-a9b9-4b93-aeb6-f0240547be63" name="Start" type="Start"><subsheetid>e53062c7-68de-4763-b37a-456688d0d607</subsheetid><loginhibit /><display x="-30" y="-120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="json" stage="json" /></inputs><onsuccess>8cb729e4-705c-400b-8d1d-0b54dd51fb94</onsuccess></stage><stage stageid="21187841-67f3-4ed1-a3b0-de763bb1e801" name="End" type="End"><subsheetid>e53062c7-68de-4763-b37a-456688d0d607</subsheetid><loginhibit /><display x="-30" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><outputs><output type="collection" name="Result" stage="Result" /></outputs></stage><stage stageid="8cb729e4-705c-400b-8d1d-0b54dd51fb94" name="JSON To Collection Without JArray" type="Code"><subsheetid>e53062c7-68de-4763-b37a-456688d0d607</subsheetid><loginhibit /><display x="-30" y="-45" /><font family="Tahoma" size="10" style="Regular" color="000000" /><inputs><input type="text" name="json" expr="[json]" /></inputs><outputs><output type="collection" name="result" stage="Result" /></outputs><onsuccess>21187841-67f3-4ed1-a3b0-de763bb1e801</onsuccess><code><![CDATA[Try
	mUseNewParseMethod = True
	result = ConvertToDataTable(json)
Finally
	mUseNewParseMethod = False
End Try]]></code></stage><stage stageid="b3a37b86-f505-4522-80d4-2c9e45ab723c" name="json" type="Data"><subsheetid>e53062c7-68de-4763-b37a-456688d0d607</subsheetid><display x="45" y="-120" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="98ca8a8f-1ce6-4cb7-85e6-9fff8b1b06f9" name="Result" type="Collection"><subsheetid>e53062c7-68de-4763-b37a-456688d0d607</subsheetid><display x="45" y="30" /><font family="Tahoma" size="10" style="Regular" color="000000" /><datatype>collection</datatype><private /><alwaysinit /></stage></process></object>
        <webapiservice id="24349d18-a8b6-4536-83cf-12339afe0d39" name="Teneo Fetch" enabled="true" xmlns="http://www.blueprism.co.uk/product/webapiservice">
            <configuration baseurl="https://operations-dev-a.teneocloud.com/blue-prism-connector/" xmlns="">
                <actions>
                    <action id="6" name="GET" enabled="true" enableRequestOutputParameter="true" disableSendingOfRequest="false">
                        <description><![CDATA[]]></description>
                        <request httpmethod="GET" urlpath=";jsessionid=[sessionID]?viewtype=[viewtype]&amp;command=[command]&amp;userinput=[userinput]">
                            <headers />
                            <bodycontent type="0"></bodycontent>
                        </request>
                        <parameters>
                            <actionparameter name="command" expose="true" datatype="64">
                                <initialvalue><![CDATA[]]></initialvalue>
                                <description><![CDATA[]]></description>
                            </actionparameter>
                            <actionparameter name="userinput" expose="true" datatype="64">
                                <initialvalue><![CDATA[]]></initialvalue>
                                <description><![CDATA[]]></description>
                            </actionparameter>
                            <actionparameter name="sessionID" expose="true" datatype="64">
                                <initialvalue><![CDATA[]]></initialvalue>
                                <description><![CDATA[]]></description>
                            </actionparameter>
                        </parameters>
                        <outputparameters>
                            <parameters>
                                <customoutputparameter type="JsonPath" name="Output" path="$.output" datatype="collection"></customoutputparameter>
                                <customoutputparameter type="JsonPath" name="SessionID" path="$.sessionId" datatype="text"></customoutputparameter>
                            </parameters>
                            <code><![CDATA[]]></code>
                        </outputparameters>
                    </action>
                    <action id="7" name="End Session" enabled="true" enableRequestOutputParameter="true" disableSendingOfRequest="false">
                        <description><![CDATA[endsession;jsessionid=[sessionID]?viewtype=[viewtype]]]></description>
                        <request httpmethod="GET" urlpath="endsession?viewtype=[viewtype]">
                            <headers />
                            <bodycontent type="0"></bodycontent>
                        </request>
                        <parameters>
                            <actionparameter name="sessionID" expose="true" datatype="64">
                                <initialvalue><![CDATA[]]></initialvalue>
                                <description><![CDATA[]]></description>
                            </actionparameter>
                        </parameters>
                        <outputparameters>
                            <parameters>
                                <customoutputparameter type="JsonPath" name="status" path="$.status" datatype="number"></customoutputparameter>
                                <customoutputparameter type="JsonPath" name="message" path="$.message" datatype="text"></customoutputparameter>
                            </parameters>
                            <code><![CDATA[]]></code>
                        </outputparameters>
                    </action>
                </actions>
                <commonparameters>
                    <actionparameter name="viewtype" expose="false" datatype="64">
                        <initialvalue><![CDATA[tieapi]]></initialvalue>
                        <description><![CDATA[]]></description>
                    </actionparameter>
                </commonparameters>
                <commonheaders />
                <commonauthentications>
                    <authentication type="0" />
                </commonauthentications>
                <commoncode>
                    <codeproperties code="" language="visualbasic">
                        <namespaces>
                            <namespace>System</namespace>
                            <namespace>System.Drawing</namespace>
                            <namespace>System.Data</namespace>
                        </namespaces>
                        <references>
                            <reference>System.dll</reference>
                            <reference>System.Data.dll</reference>
                            <reference>System.Xml.dll</reference>
                            <reference>System.Drawing.dll</reference>
                        </references>
                    </codeproperties>
                </commoncode>
                <configurationsettings>
                    <configurationsettings requesttimeout="10" authserverrequesttimeout="10" />
                </configurationsettings>
            </configuration>
        </webapiservice>
        <process-group id="01de2b6e-9827-4579-9952-fb2310bab474" name="Connector" isDefaultGroup="True" xmlns="http://www.blueprism.co.uk/product/process-group">
            <members>
                <process id="be13ff1a-496d-48cb-b0ee-f3823b9da62d" />
                <process id="2b4664ab-3928-4464-a78c-bfb869c59af9" />
            </members>
        </process-group>
        <object-group id="82e76a91-d459-4bc3-8bd2-20ea825da982" name="Connector" isDefaultGroup="True" xmlns="http://www.blueprism.co.uk/product/object-group">
            <members>
                <object id="66085a0f-6bf6-45e2-b5ed-6345f014f05b" />
                <object id="d39ef435-da5c-4e38-a846-b903b2cf3d8e" />
            </members>
        </object-group>
    </bpr:contents>
</bpr:release>