<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум компьютерной помощи &mdash; Выгрузка всех вложений из XML документа в rich поле.]]></title>
	<link rel="self" href="https://itpmr.ru/extern.php?action=feed&amp;tid=1056&amp;type=atom" />
	<updated>2018-10-09T06:58:18Z</updated>
	<generator>PunBB</generator>
	<id>http://itpmr.ru/viewtopic.php?id=1056</id>
		<entry>
			<title type="html"><![CDATA[Re: Выгрузка всех вложений из XML документа в rich поле.]]></title>
			<link rel="alternate" href="http://itpmr.ru/viewtopic.php?pid=124717#p124717" />
			<content type="html"><![CDATA[<p>Sub XMLTree(docNode As NotesDOMNode, doc As NotesDocument)<br />&#039;&nbsp; &nbsp; Print &quot;XMLTree&quot;<br />&nbsp; &nbsp; On Error Goto ErrH<br />&nbsp; &nbsp; Dim ndnChild As NotesDOMNode<br />&nbsp; &nbsp; Dim ndnChild2 As NotesDOMNode<br />&nbsp; &nbsp; Dim eNode As NotesDOMElementNode<br />&nbsp; &nbsp; Dim numChildNodes As Integer, i As Integer, numAttributes As Integer, numChildren As Integer<br />&nbsp; &nbsp; Dim ndnnmAttrs As NotesDOMNamedNodeMap<br />&nbsp; &nbsp; Dim ndan As NotesDOMAttributeNode<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; If Not docNode.IsNull Then&nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; Select Case docNode.NodeType&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; Case DOMNODETYPE_DOCUMENT_NODE:&nbsp; &nbsp; &#039;&nbsp; КОРНЕВОЙ УЗЕЛ<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print docNode.NodeName&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &amp; &quot; DOCUMENT_NODE&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set ndnChild = docNode.FirstChild<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; numChildNodes = docNode.NumberOfChildNodes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; While numChildNodes &gt; 0<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call XMLTree(ndnChild,doc)&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set ndnChild = ndnChild.NextSibling <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; numChildNodes = numChildNodes - 1 <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Wend<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; Case DOMNODETYPE_ELEMENT_NODE:&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set eNode = docNode<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;Print eNode.Tagname&nbsp; &nbsp;&nbsp; &amp; &quot; ELEMENT_NODE&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set ndnChild = docNode.FirstChild<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; numChildNodes = docNode.NumberOfChildNodes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If&nbsp; &nbsp; docNode.ParentNode.NodeName = &quot;application&quot;&nbsp; &nbsp;&nbsp; And docNode.Nodename = &quot;a&quot;&nbsp; &nbsp; Then &#039; ВЛОЖЕНИЕ<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print &quot;АТТАЧ&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;Print docNode.Attributes.NumberOfEntries<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set ndnnmAttrs = docNode.Attributes&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; For i = 1 To docNode.Attributes.NumberOfEntries&nbsp; &#039; имя файла вложения<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set ndan = ndnnmAttrs.GetItem(i)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If&nbsp; ndan.NodeName = &quot;download&quot; Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myfilename$ = ndan.NodeValue<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print &quot;Файл &quot; &amp;myfilename$<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fname=myfilename$<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Next<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; For i = 1 To docNode.Attributes.NumberOfEntries &#039; проход по атрибутам href с контентом<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set ndan = ndnnmAttrs.GetItem(i)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If&nbsp; ndan.NodeName = &quot;href&quot; Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;Print &quot;Атрибут &quot; &amp; ndan.NodeName &amp; &quot; - значение - &quot; &amp; Left (ndan.NodeValue, 40)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim plainText As String<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039; сохраняем в поток <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oname$ = &quot;C:\XML\&quot; &amp; myfilename$<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strbase64$ =&nbsp; Strrightback(&nbsp; ndan.NodeValue, &quot;base64,&quot;)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;Print Left (strbase64$, 40)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim db As NotesDatabase <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim session As New NotesSession<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim docNew As NotesDocument <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim mime As NotesMIMEEntity <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim streamlnput As NotesStream<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set streamlnput= session.CreateStream &#039; поток получает текст&nbsp; MIME-содержимого<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim streamOutput As NotesStream <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set streamOutput= session.CreateStream &#039; поток для получения текста из mime<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set db = session.CurrentDatabase<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set docNew= New NotesDocument (db )<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; session.ConvertMIME = False &#039;запрещаем преобразование MIME_PART в rich text<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set mime = docNew.CreateMIMEEntity<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Not (mime Is Nothing) Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call streamlnput.WriteText( strbase64$ ) &#039;печатаем текст в поток<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call streamOutput.Open(oname$, &quot;binary&quot;)&nbsp; &nbsp; &#039; в поток inStream файл&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call mime.SetContentFromText( streamlnput, {text/html; charset=&quot;KOI8-R&quot;}, ENC_BASE64 )<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call mime.GetContentAsText( streamOutput, True ) &#039;получаем MIME-содержимое в поток streamOutput<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlsize$=streamOutput.Bytes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print xmlsize$<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If xmlsize$ &gt; 4000000 Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; flagXMLsize = &quot;1&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print &quot;флаг размера 1&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print &quot;флага размера нет&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call streamlnput.Close() &#039;закрываем входной поток<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call streamOutput.Close() &#039;закрываем выходной поток<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; session.ConvertMIME = True &#039;разрешаем преобразование MIME_PART в rich text <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Next<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim rtitem As NotesRichTextItem<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dim object As NotesEmbeddedObject<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set rtitem =&nbsp; doc.GetFirstItem( &quot;attach&quot; )<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set object = rtitem.EmbedObject&nbsp; (EMBED_ATTACHMENT, &quot;&quot;,oname$)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Kill oname$<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Not docNode.FirstChild.isNull Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print&nbsp; Cstr(docNode.NodeValue)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print&nbsp; Cstr(docNode.FirstChild.NodeValue)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; While numChildNodes &gt; 0<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call XMLTree(ndnChild,doc)&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set ndnChild = ndnChild.NextSibling <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; numChildNodes = numChildNodes - 1 <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Wend<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; Case DOMNODETYPE_TEXT_NODE:<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;Print &quot;текст:&quot; &amp;&nbsp; docNode.NodeValue<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; Case DOMNODETYPE_ATTRIBUTE_NODE<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;Print &quot;атрибут:&quot; &amp;&nbsp; docNode.NodeValue<br />&nbsp; &nbsp; &nbsp; &nbsp; End Select<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; End If&nbsp; &nbsp; <br />&nbsp; &nbsp; <br />&nbsp; &nbsp; Exit Sub<br />ErrH:<br />&nbsp; &nbsp; Print&nbsp; &nbsp; &quot;XMLTree: &quot; &amp;&nbsp; &nbsp;Err, Error&nbsp; &amp; { в строке } &amp; Erl &amp; {&nbsp; ошибка&nbsp; }&nbsp; &nbsp; &amp; Error(Err) <br />End Sub</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>http://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2018-10-09T06:58:18Z</updated>
			<id>http://itpmr.ru/viewtopic.php?pid=124717#p124717</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Выгрузка всех вложений из XML документа в rich поле.]]></title>
			<link rel="alternate" href="http://itpmr.ru/viewtopic.php?pid=124716#p124716" />
			<content type="html"><![CDATA[<p>Sub Click(Source As Button)<br />&nbsp; &nbsp; &#039; прикрепляет в карточку в&nbsp; приложение все вложения из XML дока.<br />&nbsp; &nbsp; On Error Goto ErrH<br />&nbsp; &nbsp; Dim session As New NotesSession<br />&nbsp; &nbsp; Dim db As NotesDatabase<br />&nbsp; &nbsp; Dim ws As New NotesUIWorkspace<br />&nbsp; &nbsp; Dim uidoc As NotesUIDocument<br />&nbsp; &nbsp; Dim doc As NotesDocument<br />&nbsp; &nbsp; Dim rtitemA As NotesRichTextItem<br />&nbsp; &nbsp; Dim nam As String, namout As String&nbsp; &#039; откуда куда<br />&nbsp; &nbsp; Dim strm As NotesStream&nbsp; &nbsp; <br />&nbsp; &nbsp; Dim&nbsp; outputStream As NotesStream<br />&nbsp; &nbsp; Dim domParser As NotesDOMParser<br />&nbsp; &nbsp; Dim docNode As NotesDOMNode<br />&nbsp; &nbsp; flagXMLsize = &quot;0&quot;<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; Set db = session.CurrentDatabase<br />&nbsp; &nbsp; Set uidoc = ws.CurrentDocument<br />&nbsp; &nbsp; Set doc = uidoc.Document<br />&nbsp; &nbsp; dpatch$ = &quot;C:\XML\&quot;<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; If doc.HasEmbedded Then<br />&nbsp; &nbsp; &nbsp; &nbsp; Set rtitemA = doc.GetFirstItem(&quot;attach&quot; )<br />&nbsp; &nbsp; &nbsp; &nbsp; If Isempty( rtitemA.EmbeddedObjects) Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Messagebox &quot;В документе нет xml&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exit Sub<br />&nbsp; &nbsp; &nbsp; &nbsp; Else<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Forall obj In rtitemA.EmbeddedObjects<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If&nbsp; ( obj.Type = EMBED_ATTACHMENT ) Then&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If&nbsp; &nbsp; Lcase(Strrightback(obj.Source , &quot;.&quot;)) = &quot;xml&quot;&nbsp; Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;Messagebox&nbsp; &nbsp; &nbsp; &nbsp; &quot;все вложения допустимые&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call obj.ExtractFile( dpatch$ &amp; obj.Source )&nbsp; &nbsp;&#039; тоже фиг обработаешь ((<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oname$ = dpatch$ &amp; obj.Source <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print oname$<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set strm = session.CreateStream() <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set outputStream =session.CreateStream()<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call strm.Open(oname$, &quot;UTF-8&quot; )<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlsize$= strm.Bytes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print xmlsize$ &amp; &quot; размер вложения&quot; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If xmlsize$ &lt; 4000000 Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Messagebox &quot;Вложения имеют размер менее 4 МБ. Выгрузка вложений не нужна.&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exit Sub<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set domParser=session.CreateDOMParser(strm, outputStream)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; domParser.Process<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set docNode = domParser.Document<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print &quot;Старт XMLTree&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call XMLTree(docNode,doc)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print &quot;Конец XMLTree&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strm.Close<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Kill oname$<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print &quot;flagXMLsize &quot; &amp; flagXMLsize<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If flagXMLsize = &quot;0&quot; Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Msgbox &quot;Нет вложений больше 4мб!&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exit Sub<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; doc.ReplaceItemValue({SaveOptions},{0}).SaveToDisk=False<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call uidoc.Close<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call ws.EditDocument(True, doc)&nbsp; &#039;&nbsp; False - чтение<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If&nbsp; Fname = &quot;&quot; Then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Msgbox &quot;Нет приложений в XML&quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Msgbox &quot;Вложение прикреплено&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End Forall<br />&nbsp; &nbsp; &nbsp; &nbsp; End If<br />&nbsp; &nbsp; End If<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; Exit Sub<br />ErrH:<br />&nbsp; &nbsp; Print &quot;Ошибка получения вложения XML &quot; &amp; Error(Err) &amp; &quot; в строке &quot; &amp; Erl&nbsp; &nbsp; <br />End Sub</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>http://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2018-10-09T06:58:14Z</updated>
			<id>http://itpmr.ru/viewtopic.php?pid=124716#p124716</id>
		</entry>
</feed>
