<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; HTA: Копирование файлов по директориям]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8803&amp;type=atom" />
	<updated>2013-10-22T19:44:35Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8803</id>
		<entry>
			<title type="html"><![CDATA[HTA: Копирование файлов по директориям]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=76352#p76352" />
			<content type="html"><![CDATA[<p>Задача следующая, необходимо создать HTA приложение при помощи которого можно было:<br />1) Выбрать несколько файлов или указать папку с файлами<br />2) Все данные файлы отобразились бы на форме HTA с левой стороны.<br />3) А с правой бы стороны были бы условные названия (которые брались из файла), а под этими названиями скрывался бы путь копирования.<br />4) Кнопочка копирования.</p><p>И получается слева выбираем несколько файлов, а справа указываем количество мест куда их нужно скопировать.</p><p>Для выбора нескольких файлов можно использовать Set Files = FSO.GetFolder(FolderPath).Files</p><p>Для выбора необходимых файлов можно использовать CheckBox</p><p>Вот начал писать форму. На этой форме есть кнопка при нажатии на которой запускается окно и в этом окне нужно что б можно было выбрать необходимые файлы:</p><p>Файл называется Start.hta</p><div class="codebox"><pre><code>&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Start&lt;/title&gt;
&lt;HTA:APPLICATION
  APPLICATIONNAME=&quot;Start&quot;
  ID=&quot;Start&quot;
  VERSION=&quot;1.0&quot;/&gt;
&lt;/head&gt;

&lt;script language=&quot;VBScript&quot;&gt;

Sub Window_OnLoad
End Sub

Function Fill_Dict_CheckBox()
    dim objDic
    Set objDic = CreateObject(&quot;Scripting.Dictionary&quot;)
    objDic.Add &quot;Header&quot;, &quot;Отправка файлов&quot;
    objDic.Add &quot;ControlHeader&quot;, &quot;Выберите файлы для копирования&quot;
    objDic.Add &quot;Description&quot;, &quot;Подробное описание, того что требуется от пользователя в этом окне&quot;
    objDic.Add &quot;ControlValues&quot;, Array(&quot;1й Файл&quot;, &quot;2й Файл&quot;, &quot;3й Файл&quot;, &quot;4й Файл&quot;)
    objDic.Add &quot;BtnFinish&quot;, True
    Set Fill_Dict_CheckBox = objDic
    Set objDic = Nothing
End Function

Sub OnClickButtonbtnChB
    varReturn = window.ShowModalDialog(&quot;checkbox.hta&quot;, Fill_Dict_CheckBox, &quot;dialogHeight:400px;dialogWidth:400px&quot;) 
    MsgBox varReturn
End Sub

&lt;/script&gt;

&lt;body&gt;

&lt;input type=&quot;button&quot; name=&quot;btnRB&quot; id=&quot;btnChB&quot; value=&quot;Отправка файлов&quot; onclick=&quot;OnClickButtonbtnChB&quot;&gt;

&lt;/body&gt;
&lt;/html&gt;</code></pre></div><p>Второй запускаемый файл CheckBox.hta</p><div class="codebox"><pre><code>&lt;html&gt;
&lt;head&gt;
&lt;title&gt;911&lt;/title&gt;
&lt;HTA:APPLICATION
  APPLICATIONNAME=&quot;CHECKBOX&quot;
  ID=&quot;CHB&quot;
  VERSION=&quot;1.0&quot;
  SYSMENU=&quot;no&quot;
  MAXIMIZEBUTTON=&quot;no&quot;
  MINIMIZEBUTTON=&quot;no&quot;
  SCROLL=&quot;no&quot;
  CONTEXTMENU=&quot;no&quot;
  SELECTION=&quot;no&quot;/&gt;
&lt;/head&gt;

&lt;script language=&quot;VBScript&quot;&gt;

  Dim objDict
    Set objDict = window.dialogArguments

Sub Window_OnLoad
    Header.InnerHTML = &quot;&lt;B&gt;&quot; &amp; objDict.Item(&quot;Header&quot;) &amp; &quot;&lt;/B&gt;&quot;
    ControlHeader.InnerHTML =  &quot;&lt;BR&gt;&quot; &amp; objDict.Item(&quot;ControlHeader&quot;)
    Description.InnerHTML = &quot;&lt;BR&gt; &lt;font size=2&gt;&quot; &amp; objDict.Item(&quot;Description&quot;) &amp; &quot;&lt;/font&gt;&quot;
    
    
    If objDict.Item(&quot;BtnFinish&quot;) Then 
        ButtonFinish.InnerHTML = &quot;&lt;input type=&quot;&quot;button&quot;&quot; name=&quot;&quot;btnFinish&quot;&quot; id=&quot;&quot;btnFinish&quot;&quot; value=&quot;&quot;Отправить&quot;&quot; onclick=&quot;&quot;OnClickButtonbtnFinish&quot;&quot;&gt;&quot;
    Else 
        ButtonFinish.InnerHTML = &quot;&quot;
    End If    
    
    strHTML = &quot;&lt;BR&gt;&quot;
    For i = 0 To UBound(objDict.Item(&quot;ControlValues&quot;))
        strHTML = strHTML &amp; &quot;&lt;input type=&quot;&quot;checkbox&quot;&quot; name=&quot;&quot;checkbox&quot; &amp; CStr(i) &amp;&quot;&quot;&quot; id=&quot;&quot;checkbox&quot; &amp; CStr(i) &amp; &quot;&quot;&quot;&gt;&quot; &amp; objDict.Item(&quot;ControlValues&quot;)(i) &amp; &quot;&lt;BR&gt;&quot; &amp; vbCr
    Next
    ControlValues.InnerHTML = strHTML
    
    window.returnValue = &quot;Value=;Button=;&quot;
End Sub

Function GetCheckBoxValues()
    GetCheckBoxValues = &quot;&quot;
    For i = 0 To UBound(objDict.Item(&quot;ControlValues&quot;))
        If window.document.getElementById(&quot;checkbox&quot; &amp; CStr(i)).Checked Then 
            GetCheckBoxValues = GetCheckBoxValues &amp; &quot;1,&quot;
        Else
            GetCheckBoxValues = GetCheckBoxValues &amp; &quot;0,&quot;
        End If    
    Next
    GetCheckBoxValues = Left(GetCheckBoxValues,Len(GetCheckBoxValues)-1)
End Function



Sub OnClickButtonbtnFinish()
    window.returnValue = &quot;Value=&quot; &amp; GetCheckBoxValues() &amp; &quot;;Button=Отправлено;&quot;
    window.close
End Sub

&lt;/script&gt;

&lt;body&gt;

&lt;span id=Header&gt;&lt;/span&gt;
&lt;span id=ControlHeader&gt;&lt;/span&gt; &amp;nbsp; 
&lt;span id=ControlValues&gt;&lt;/span&gt;
&lt;span id=Description&gt;&lt;/span&gt;
&lt;BR&gt;

&lt;span id=ButtonFinish&gt;&lt;/span&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre></div><br /><p>В HTA не силен только начинаю осваивать буду признателен за любую помощь. Читал про многие функции которые есть d JScript или VBScript, но как подружить все это с hta-формой пока не до конца понимаю.</p><p>На самом деле потом буду еще многое допиливать, но это сейчас основное.</p>]]></content>
			<author>
				<name><![CDATA[wildwolf007]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30994</uri>
			</author>
			<updated>2013-10-22T19:44:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=76352#p76352</id>
		</entry>
</feed>
