• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Импорт С Документа Doc C Автматичиским Заполнением Полей Карточки.

  • Автор темы MaksK
  • Дата начала
M

MaksK

В lotus Notes есть кнопка которая импортирует файлы doc и автоматически заполняет поля карточки информацией с этого файла. Сейчас в организации сделали новый сайт с новой формой(в которой отличаются название полей),с которого и приходил эти файлы doc. После этого авто заполнение полей работать перестало. Где то в коде я так понял нужно поменять название полей.

В прикрепленных файлах есть старый и новый образец doc файла
Может кто нибудь сможет помочь.

Вот код который отвечает за авто заполнение я так понял:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"код"</div></div><div class="sp-body"><div class="sp-content">
Код:
Function ProcessFile As String
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject

Dim WordObj As Variant, WordDoc As Variant, myRange As Variant
Dim ContentofFile As String, ContentofFile1 As String, Macros As String, Result As Variant, Pos As Integer
Dim fileNum1 As Integer
Dim OutFiles As String

On Error 101 Goto FileNotFound
Set WordObj = CreateObject("Word.Application.8")
WordObj.Documents.Open pathName & fileName
Set WordDoc = WordObj.Documents(1)
WordObj.Visible = True  
Set myRange = WordDoc.Content
ContentofFile = myRange.Text
WordObj.Quit

OutFiles = ""
Set doc = db.CreateDocument
Set rtitem = New NotesRichTextItem( doc, "TextRez" )
Set object = rtitem.EmbedObject	(EMBED_ATTACHMENT, "", pathName & fileName)
tmp = Trim(Strleft(ContentofFile, "--=="))
tmp = Trim(Strright(tmp, "Файлы:"))
Result = Split(tmp, ",")
fileNum1% = Freefile()
Forall x In Result
If Trim(x) = "<none>" Or x = "" Then Exit Forall
tmp = Strleftback(fileName, ".") + "_"
x = Trim(x)
If Mid(x, Len(x), 1) = Chr(10) Or Mid(x, Len(x), 1) = Chr(13) Then x = Left(x, Len(x)-1)
Macros = pathName + tmp + x
Open Macros For Input As fileNum1%
If Macros <> "" Then
Set object = rtitem.EmbedObject (EMBED_ATTACHMENT, "", Macros)
Close fileNum1%
If OutFile = "" Then
OutFile = OutFile + tmp + x
Else
OutFile = OutFile + "," + tmp + x
End If
fileNum1% = Freefile()
End If
End Forall
doc.Form = "Карточка электр."
doc.ExecuterSub = "ExecuteLogic"
doc.TypeDoc = "Входящий"
doc.VidDoc = "ЭЛЕКТРОННОЕ ОБРАЩЕНИЕ"
doc.WorkflowObject = "Новые электронные обращения, требующие внимания"
Call doc.ReplaceItemValue ("StatusE", "Новый")
Call doc.ReplaceItemValue ("StatusNew", 1)
Call doc.ReplaceItemValue ("InputNum", 0)
tmp = Fulltrim(Strleft(ContentofFile, "Кому:"))
tmp = Fulltrim(Strright(tmp, "От:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.Adress_2 = tmp
tmp = Fulltrim(Strleft(ContentofFile, "Тема:"))
tmp = Fulltrim(Strright(tmp, "Написано:"))
Macros = {@ReplaceSubstring("} + tmp + {"; "," : " г." : " января " : " февраля " : " марта " : " апреля " : " мая " : " июня " : " июля " : " августа " : " сентября " : " октября " : " ноября " : " декабря "; "" : "" : ".01." : ".02." : ".03." : ".04." : ".05." : ".06." : ".07." : ".08." : ".09." : ".10." : ".11." : ".12.")}
result = Evaluate(Macros, doc)
tmp = Trim(result(0))
doc.InputDate = Cdat(Today)
If tmp <> "" Then
doc.OutDate1 = Cdat(tmp)
tmp = Fulltrim(Strleft(ContentofFile, "Файлы:"))
If tmp = "" Then tmp = Fulltrim(Strleft(ContentofFile, "--="))
tmp = Fulltrim(Strright(tmp, "Тема:"))
Macros = {@ReplaceSubstring("} + tmp + {"; "[Обратная связь] "; "")}
result = Evaluate(Macros, doc)
tmp = Trim(result(0))
doc.Body1 = tmp
End If
ContentofFile1 = Trim(Strleft(ContentofFile, "Текст обращения:"))
If ContentofFile1 <> "" Then
tmp = Fulltrim(Strright(ContentofFile, "Текст обращения:"))
If Len(tmp) > 13000 Then tmp = Left(tmp, 12997) + "..."
doc.Body = tmp
Pos = Instr(1, ContentofFile1, "Наименование юр. лица:")
If Pos = 0 Then
Pos = Instr(1, ContentofFile1, "ФИО:")		 
If Pos <> 0 Then
tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес:"))
tmp = Fulltrim(Strright(tmp, "ФИО:"))		 
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NewFrom1_ = tmp
doc.NameChief = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Адресат:"))
tmp = Fulltrim(Strright(tmp, "Почтовый адрес:"))		 
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.Adress = tmp
'			tmp = Trim(Strright(ContentofFile1, "Адресат:"))		 
'			Macros = {@ReplaceSubstring("} + tmp + {"; """; @Char(34) )}
'			result = Evaluate(Macros, doc)
'			tmp = Trim(result(0))
'			doc.CommOtm = tmp			
End If
Else
tmp = Fulltrim(Strleft(ContentofFile1, "ФИО руководителя/ уполн. лица:"))
tmp = Fulltrim(Strright(tmp, "Наименование юр. лица:"))		 
Macros = {@ReplaceSubstring("} + tmp + {"; """; @Char(34) )}
result = Evaluate(Macros, doc)
tmp = Trim(result(0))
doc.NewFrom1_ = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес юр. лица:"))
tmp = Fulltrim(Strright(tmp, "ФИО руководителя/ уполн. лица:"))		 
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NameChief = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Адресат:"))
tmp = Fulltrim(Strright(tmp, "Почтовый адрес юр. лица:"))		 
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.Adress = tmp
'		 tmp = Trim(Strright(ContentofFile1, "Адресат:"))		 
'		 Macros = {@ReplaceSubstring("} + tmp + {"; """; @Char(34) )}
'		 result = Evaluate(Macros, doc)
'		 tmp = Trim(result(0))
'		 doc.CommOtm = tmp
End If
Else
tmp = Fulltrim(Strright(ContentofFile, "--=="))
If Len(tmp) > 13000 Then tmp = Left(tmp, 12997) + "..."
doc.Body = tmp
End If
Call doc.Save(True, False)
ProcessFile = OutFile
Exit Function

FileNotFound :
Macros = ""
Resume Next
End Function
 

Вложения

  • Новый_образец.doc
    30 КБ · Просмотры: 192
  • Старый_образец.doc
    27 КБ · Просмотры: 156

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
Короч... если поменялась лотусовая форма, то в этом коде ищем строки на подобии такой:
doc.Adress = tmp
Это означает в документе doc изменить поле Adress на значение tmp
Еще есть Doc.replaceItemvalue(<имя поля>,<Значение>)

Далее глазами проверяем какие поля в новой форме соответствуют полям в старой.
И меняем в коде.
 
M

MaksK

Короч... если поменялась лотусовая форма, то в этом коде ищем строки на подобии такой:
doc.Adress = tmp
Это означает в документе doc изменить поле Adress на значение tmp
Еще есть Doc.replaceItemvalue(<имя поля>,<Значение>)

Далее глазами проверяем какие поля в новой форме соответствуют полям в старой.
И меняем в коде.


Поменялась не лотусовая форма. А форма электронных обращений на сайте, которая сохроняет файлы doc а лотус потом импортирует сам файл, и из этого файла берет определенные поля для авто-заполнения карточки)
Так вот поменялись название полей формы на сайте.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
ничего не понятно!
где код кот. берет поля из ворда?
только тескт вставляется

Добавлено: вот вся "работа":
Код:
  Set myRange = WordDoc.Content
ContentofFile = myRange.Text
WordObj.Quit
с вордом
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
теперь совсем не понятно...
Код, который предоставлен обрабатывает документ Word и создает документы в Lotus на основе Word.
Работа со страницей сайта здесь не отражена.

lmike прав, вся работа в трех строчках. А вот дальше идет обработка текста.

Так что не так то?)
Документ в Lotus не создается?
Создается, но пустой? (возможно неверная обработка текста из ворда)
 
M

MaksK

теперь совсем не понятно...
Код, который предоставлен обрабатывает документ Word и создает документы в Lotus на основе Word.
Работа со страницей сайта здесь не отражена.

lmike прав, вся работа в трех строчках. А вот дальше идет обработка текста.

Так что не так то?)
Документ в Lotus не создается?
Создается, но пустой? (возможно неверная обработка текста из ворда)


да документ создается, но пустой. В вордовских документам например раньше было написано "Почтовый адрес Юр. лиц" и в документе лотуса этот адрес отображался, а сейчас вордовские документы приходят и там теперь написано "Почтовый адрес юридического лица" и документ создается пустой. В коде вроде названия эти поменял на новые, но документ все равно не заполняется.

Добавлено: If Pos <> 0 Then
tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес:"))
tmp = Fulltrim(Strright(tmp, "ФИО:"))


вот напрмер поля с этими названиями есть в документах лотус, и они раньше заполнялись. Тесть текст из ворда в лотусовский документ вставляся не понустью, а только определенные поля.
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
У вас неверный парсер текста из Word, там поменялись текстовки.
Надо новые текстовки вставить в парсер вместо старых, а возможно и весь парсер переписать, так как обработка может сильно поменяться.
 
M

MaksK

У вас неверный парсер текста из Word, там поменялись текстовки.
Надо новые текстовки вставить в парсер вместо старых, а возможно и весь парсер переписать, так как обработка может сильно поменяться.


Парсер я так понял находистя в этом коде что я скидывал в пример?
 
M

MaksK

Добавлено:
У вас неверный парсер текста из Word, там поменялись текстовки.
Надо новые текстовки вставить в парсер вместо старых, а возможно и весь парсер переписать, так как обработка может сильно поменяться.


Немогли бы вы показать кусок кода с этим парсером?
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
Практически все строки где есть tmp:

doc - лотусовый документ,
doc.TypeDoc = "Входящий" - присвоить полю значение
Call doc.ReplaceItemValue ("StatusE", "Новый") - тоже присвоить полю значение

tmp = Fulltrim(Strleft(ContentofFile1, "ФИО руководителя/ уполн. лица:")) - взять все слева от слов "ФИО руководителя/ уполн. лица:", в строке ContentofFile1 и записать в tmp (обработка руководителя)
tmp = Fulltrim(Strright(tmp, "Наименование юр. лица:")) - записать в tmp все что справа от слов "Наименование юр. лица:" в строке tmp и снова записать в tmp

tmp = Fulltrim(Strleft(ContentofFile1, "Адресат:")) - как и с руководителем получаем адресата.
И так далее и тому подобное.

Код:
doc.Form = "Карточка электр."
doc.ExecuterSub = "ExecuteLogic"
doc.TypeDoc = "Входящий"
doc.VidDoc = "ЭЛЕКТРОННОЕ ОБРАЩЕНИЕ"
doc.WorkflowObject = "Новые электронные обращения, требующие внимания"
Call doc.ReplaceItemValue ("StatusE", "Новый")
Call doc.ReplaceItemValue ("StatusNew", 1)
Call doc.ReplaceItemValue ("InputNum", 0)
tmp = Fulltrim(Strleft(ContentofFile, "Кому:"))
tmp = Fulltrim(Strright(tmp, "От:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.Adress_2 = tmp
tmp = Fulltrim(Strleft(ContentofFile, "Тема:"))
tmp = Fulltrim(Strright(tmp, "Написано:"))
Macros = {@ReplaceSubstring("} + tmp + {"; "," : " г." : " января " : " февраля " : " марта " : " апреля " : " мая " : " июня " : " июля " : " августа " : " сентября " : " октября " : " ноября " : " декабря "; "" : "" : ".01." : ".02." : ".03." : ".04." : ".05." : ".06." : ".07." : ".08." : ".09." : ".10." : ".11." : ".12.")}
result = Evaluate(Macros, doc)
tmp = Trim(result(0))
doc.InputDate = Cdat(Today)
If tmp <> "" Then
doc.OutDate1 = Cdat(tmp)
tmp = Fulltrim(Strleft(ContentofFile, "Файлы:"))
If tmp = "" Then tmp = Fulltrim(Strleft(ContentofFile, "--="))
tmp = Fulltrim(Strright(tmp, "Тема:"))
Macros = {@ReplaceSubstring("} + tmp + {"; "[Обратная связь] "; "")}
result = Evaluate(Macros, doc)
tmp = Trim(result(0))
doc.Body1 = tmp
End If
ContentofFile1 = Trim(Strleft(ContentofFile, "Текст обращения:"))
If ContentofFile1 <> "" Then
tmp = Fulltrim(Strright(ContentofFile, "Текст обращения:"))
If Len(tmp) > 13000 Then tmp = Left(tmp, 12997) + "..."
doc.Body = tmp
Pos = Instr(1, ContentofFile1, "Наименование юр. лица:")
If Pos = 0 Then
Pos = Instr(1, ContentofFile1, "ФИО:")		 
If Pos <> 0 Then
tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес:"))
tmp = Fulltrim(Strright(tmp, "ФИО:"))		 
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NewFrom1_ = tmp
doc.NameChief = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Адресат:"))
tmp = Fulltrim(Strright(tmp, "Почтовый адрес:"))		 
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.Adress = tmp
'			tmp = Trim(Strright(ContentofFile1, "Адресат:"))		 
'			Macros = {@ReplaceSubstring("} + tmp + {"; """; @Char(34) )}
'			result = Evaluate(Macros, doc)
'			tmp = Trim(result(0))
'			doc.CommOtm = tmp			
End If
Else
tmp = Fulltrim(Strleft(ContentofFile1, "ФИО руководителя/ уполн. лица:"))
tmp = Fulltrim(Strright(tmp, "Наименование юр. лица:"))		 
Macros = {@ReplaceSubstring("} + tmp + {"; """; @Char(34) )}
result = Evaluate(Macros, doc)
tmp = Trim(result(0))
doc.NewFrom1_ = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес юр. лица:"))
tmp = Fulltrim(Strright(tmp, "ФИО руководителя/ уполн. лица:"))		 
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NameChief = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Адресат:"))
tmp = Fulltrim(Strright(tmp, "Почтовый адрес юр. лица:"))		 
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.Adress = tmp
'		 tmp = Trim(Strright(ContentofFile1, "Адресат:"))		 
'		 Macros = {@ReplaceSubstring("} + tmp + {"; """; @Char(34) )}
'		 result = Evaluate(Macros, doc)
'		 tmp = Trim(result(0))
'		 doc.CommOtm = tmp
End If
Else
tmp = Fulltrim(Strright(ContentofFile, "--=="))
If Len(tmp) > 13000 Then tmp = Left(tmp, 12997) + "..."
doc.Body = tmp
End If
Call doc.Save(True, False)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
мда... я конечно все понимаю, но парсер из стринговых операций, в ЛС - это что-то
об эффективности никто не думал
второе - шаблоны для парсера жестко вшиты в код - надо настроечный док
для поиска строк можно использовать встроенный в java

 
M

MaksK

Всем спасибо исправил таким образом:
ContentofFile1 = Trim(Strleft(ContentofFile, "Текст обращения:"))
If ContentofFile1 <> "" Then
tmp = Fulltrim(Strright(ContentofFile, "Текст обращения:"))
If Len(tmp) > 13000 Then tmp = Left(tmp, 12997) + "..."
doc.Body = tmp
Pos = Instr(1, ContentofFile1, "Наименование юридического лица:")
If Pos = 0 Then
Pos = Instr(1, ContentofFile1, "ФИО:")
If Pos <> 0 Then
tmp = Fulltrim(Strleft(ContentofFile1, "Адресат обращения:"))
tmp = Fulltrim(Strright(tmp, "ФИО:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NewFrom1_ = tmp
doc.NameChief = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес:"))
tmp = Fulltrim(Strright(tmp, "Адресат обращения:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NewTo = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Краткое содержание:"))
tmp = Fulltrim(Strright(tmp, "Почтовый адрес:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.Adress = tmp
tmp = Trim(Strright(ContentofFile1, "Краткое содержание:"))
Macros = {@ReplaceSubstring("} + tmp + {" ; """; @Char(34) )}
result = Evaluate(Macros, doc)
tmp = Trim(result(0))
doc.Body1 = tmp
End If
Else
tmp = Fulltrim(Strleft(ContentofFile1, "Адресат обращения:"))
tmp = Fulltrim(Strright(tmp, "Наименование юридического лица:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NewFrom1_ = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "ФИО руководителя / уполномоченного лица:"))
tmp = Fulltrim(Strright(tmp, "Адресат обращения:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NewTo = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес юридического лица:"))
tmp = Fulltrim(Strright(tmp, "ФИО руководителя / уполномоченного лица:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.NameChief = tmp
tmp = Fulltrim(Strleft(ContentofFile1, "Краткое содержание:"))
tmp = Fulltrim(Strright(tmp, "Почтовый адрес юридического лица:"))
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1)
tmp = Fulltrim(tmp)
doc.Adress = tmp
tmp = Trim(Strright(ContentofFile1, "Краткое содержание:"))
Macros = {@ReplaceSubstring("} + tmp + {" ; """; @Char(34) )}
result = Evaluate(Macros, doc)
tmp = Trim(result(0))
doc.Body1 = tmp
End If
Else
tmp = Fulltrim(Strright(ContentofFile, "--=="))
If Len(tmp) > 13000 Then tmp = Left(tmp, 12997) + "..."
doc.Body = tmp
End If
Call doc.Save(True, False)
ProcessFile = OutFile
Exit Function

FileNotFound :
Macros = ""
Resume Next
End Function
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
MaksK
Не за что, случай частный. Код под споллер уберите пож-та.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!