<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Using sys.argv in ptyhon toolbox in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/using-sys-argv-in-ptyhon-toolbox/m-p/668244#M51870</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are using the wrong approach. The execute method does what it says it executes the tool, you want to open it. Below is some VBA that shows you how to open a tool interface rather than execute it. I have not tried to use it to open a Python toolbox tool so have ago?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN class="kw1"&gt;Public&lt;/SPAN&gt; &lt;SPAN class="kw1"&gt;Sub&lt;/SPAN&gt; OpenCalculateTool()
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Hook into Toolbox and get the tool
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pUID &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; &lt;SPAN class="kw1"&gt;New&lt;/SPAN&gt; UID
&amp;nbsp;&amp;nbsp;&amp;nbsp; pUID = &lt;SPAN class="st0"&gt;"esriGeoprocessingUI.ArcToolboxExtension"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pArcToolboxExtension &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IArcToolboxExtension
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pArcToolboxExtension = Application.FindExtensionByCLSID(pUID)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pArcToolbox &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IArcToolbox
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pArcToolbox = pArcToolboxExtension.ArcToolbox
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPTool &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPTool
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPTool = pArcToolbox.GetToolbyNameString(&lt;SPAN class="st0"&gt;"CalculateField"&lt;/SPAN&gt;)

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Create messages, required by Invoke method
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; msgs &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPMessages
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; msgs = &lt;SPAN class="kw1"&gt;New&lt;/SPAN&gt; GPMessages

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Get existing parameter structure
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pArray &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IArray
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pArray = pGPTool.ParameterInfo

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Declare Parameter interfaces
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPParameter &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPParameter
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPDataType &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPDataType
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPParameterEdit &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPParameterEdit

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Set the parameters of the tool
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameter = pArray.Element(0)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit = pGPParameter
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPDataType = pGPParameter.DataType
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit.Value = pGPDataType.CreateValue(&lt;SPAN class="st0"&gt;"a"&lt;/SPAN&gt;) &lt;SPAN class="co1"&gt;' Featurelayer name
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameter = pArray.Element(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit = pGPParameter
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPDataType = pGPParameter.DataType
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit.Value = pGPDataType.CreateValue(&lt;SPAN class="st0"&gt;"xx"&lt;/SPAN&gt;) &lt;SPAN class="co1"&gt;' Field
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameter = pArray.Element(3)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit = pGPParameter
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPDataType = pGPParameter.DataType
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit.Value = pGPDataType.CreateValue(&lt;SPAN class="st0"&gt;"VB"&lt;/SPAN&gt;)

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Open the tool
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPToolCommandHelper &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPToolCommandHelper2
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPToolCommandHelper = &lt;SPAN class="kw1"&gt;New&lt;/SPAN&gt; GPToolCommandHelper
&amp;nbsp;&amp;nbsp;&amp;nbsp; pGPToolCommandHelper.SetTool pGPTool
&amp;nbsp;&amp;nbsp;&amp;nbsp; pGPToolCommandHelper.InvokeModal 0, pArray, &lt;SPAN class="kw1"&gt;True&lt;/SPAN&gt;, msgs
&lt;SPAN class="kw1"&gt;End&lt;/SPAN&gt; &lt;SPAN class="kw1"&gt;Sub&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 04:14:30 GMT</pubDate>
    <dc:creator>DuncanHornby</dc:creator>
    <dc:date>2021-12-12T04:14:30Z</dc:date>
    <item>
      <title>Using sys.argv in ptyhon toolbox</title>
      <link>https://community.esri.com/t5/python-questions/using-sys-argv-in-ptyhon-toolbox/m-p/668243#M51869</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello forum:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We're launching a python toolbox tool "CreaCCAA" from a custom ArcMap menu option "Gestion de Cartografia" as shown in pic1 (see attachments)&lt;/P&gt;&lt;P&gt;The "CreaCCAA" tool has 6 parameters itself.&lt;/P&gt;&lt;P&gt;This operation is working fine &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What we're trying to do (see Pic2 in attachments) is to launch "CreaCCAA" from menu "Gestion de Cartografía" with 3 first parameters initialized. We want the final user just to enter parameters 4,5 and 6 in "CreaCCAA"....but it doent work&lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/sad.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code for launching "CreaCCAA" in the "Gestion de Cartografia" .net side, is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void ExecuteScript(string PathTOToolbox,string ScriptName, List&amp;lt;string&amp;gt; &lt;STRONG&gt;ParametersList&lt;/STRONG&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IGeoProcessor2 gp = new GeoProcessorClass();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IVariantArray parameters = null;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.AddToolbox(PathTOToolbox);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ParametersList != null)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters = new VarArrayClass();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string param in ParametersList)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters.Add(param);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.Execute(ScriptName, &lt;STRONG&gt;parameters&lt;/STRONG&gt;, null);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception Err)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connector.ConnectorExtension.WriteStaticLog("Error", Err.Message + " - " + Err.StackTrace);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the "CreaCCAA" python code side, we're trying to read the 3 arguments using sys.argv but it doesn't work.&lt;/P&gt;&lt;P&gt;Exploring the sys.argv value we get always an empty string ['']&lt;/P&gt;&lt;P&gt;It makes no difference to read sys.argv in any section in the python toolbox code (__init__, getParameterInfo, updateParameters or execute): we get always the empty string ['']&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anybody know how to solve this? Does sys.argv work "fine" in a pyhon toolbox? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We think one possible way to solve this, could be reading the 3 parameters needed in "CreaCCAA" from a text file (like cookies work) using the&amp;nbsp; "open" and "readlines" python methods.&lt;/P&gt;&lt;P&gt;But, because of security issues (one of the parameters to pass to "CreaCCAA" is a password) we prefer to avoid it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Our development environment is ArcGIS 10.2.2 on Windows 7 Professional SP1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope you could help with this and thanks in advance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Antonio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 May 2015 15:05:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/using-sys-argv-in-ptyhon-toolbox/m-p/668243#M51869</guid>
      <dc:creator>antoniogomez</dc:creator>
      <dc:date>2015-05-13T15:05:59Z</dc:date>
    </item>
    <item>
      <title>Re: Using sys.argv in ptyhon toolbox</title>
      <link>https://community.esri.com/t5/python-questions/using-sys-argv-in-ptyhon-toolbox/m-p/668244#M51870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are using the wrong approach. The execute method does what it says it executes the tool, you want to open it. Below is some VBA that shows you how to open a tool interface rather than execute it. I have not tried to use it to open a Python toolbox tool so have ago?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN class="kw1"&gt;Public&lt;/SPAN&gt; &lt;SPAN class="kw1"&gt;Sub&lt;/SPAN&gt; OpenCalculateTool()
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Hook into Toolbox and get the tool
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pUID &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; &lt;SPAN class="kw1"&gt;New&lt;/SPAN&gt; UID
&amp;nbsp;&amp;nbsp;&amp;nbsp; pUID = &lt;SPAN class="st0"&gt;"esriGeoprocessingUI.ArcToolboxExtension"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pArcToolboxExtension &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IArcToolboxExtension
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pArcToolboxExtension = Application.FindExtensionByCLSID(pUID)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pArcToolbox &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IArcToolbox
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pArcToolbox = pArcToolboxExtension.ArcToolbox
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPTool &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPTool
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPTool = pArcToolbox.GetToolbyNameString(&lt;SPAN class="st0"&gt;"CalculateField"&lt;/SPAN&gt;)

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Create messages, required by Invoke method
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; msgs &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPMessages
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; msgs = &lt;SPAN class="kw1"&gt;New&lt;/SPAN&gt; GPMessages

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Get existing parameter structure
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pArray &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IArray
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pArray = pGPTool.ParameterInfo

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Declare Parameter interfaces
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPParameter &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPParameter
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPDataType &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPDataType
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPParameterEdit &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPParameterEdit

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Set the parameters of the tool
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameter = pArray.Element(0)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit = pGPParameter
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPDataType = pGPParameter.DataType
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit.Value = pGPDataType.CreateValue(&lt;SPAN class="st0"&gt;"a"&lt;/SPAN&gt;) &lt;SPAN class="co1"&gt;' Featurelayer name
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameter = pArray.Element(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit = pGPParameter
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPDataType = pGPParameter.DataType
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit.Value = pGPDataType.CreateValue(&lt;SPAN class="st0"&gt;"xx"&lt;/SPAN&gt;) &lt;SPAN class="co1"&gt;' Field
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameter = pArray.Element(3)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit = pGPParameter
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPDataType = pGPParameter.DataType
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPParameterEdit.Value = pGPDataType.CreateValue(&lt;SPAN class="st0"&gt;"VB"&lt;/SPAN&gt;)

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="co1"&gt;' Open the tool
&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Dim&lt;/SPAN&gt; pGPToolCommandHelper &lt;SPAN class="kw1"&gt;As&lt;/SPAN&gt; IGPToolCommandHelper2
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="kw1"&gt;Set&lt;/SPAN&gt; pGPToolCommandHelper = &lt;SPAN class="kw1"&gt;New&lt;/SPAN&gt; GPToolCommandHelper
&amp;nbsp;&amp;nbsp;&amp;nbsp; pGPToolCommandHelper.SetTool pGPTool
&amp;nbsp;&amp;nbsp;&amp;nbsp; pGPToolCommandHelper.InvokeModal 0, pArray, &lt;SPAN class="kw1"&gt;True&lt;/SPAN&gt;, msgs
&lt;SPAN class="kw1"&gt;End&lt;/SPAN&gt; &lt;SPAN class="kw1"&gt;Sub&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:14:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/using-sys-argv-in-ptyhon-toolbox/m-p/668244#M51870</guid>
      <dc:creator>DuncanHornby</dc:creator>
      <dc:date>2021-12-12T04:14:30Z</dc:date>
    </item>
    <item>
      <title>Re: Using sys.argv in ptyhon toolbox</title>
      <link>https://community.esri.com/t5/python-questions/using-sys-argv-in-ptyhon-toolbox/m-p/668245#M51871</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, it works! It opens my python toolbox "CreaCCAA" with the three parameters correctly &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, Duncan!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Antonio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 May 2015 17:38:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/using-sys-argv-in-ptyhon-toolbox/m-p/668245#M51871</guid>
      <dc:creator>antoniogomez</dc:creator>
      <dc:date>2015-05-19T17:38:57Z</dc:date>
    </item>
  </channel>
</rss>

