Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/58: Рейтинг темы: голосов - 58, средняя оценка - 4.76
MoksK

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

02.10.2013, 15:56. Показов 11056. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В 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">

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2013, 15:56
Ответы с готовыми решениями:

Проблема с заполнением документа из формы
Доброго времени суток! Столкнулся с проблемой следующего содержания: есть документ, на нем кнопка, по ее нажатии активируется форма...

Проблемы с заполнением полей формы
Ребят С Наступающим Новым Годом! Подскажите пожалуйста как быть. В БД есть форма &quot;Форма086/у&quot; 1. на этой форме есть список15...

Товар с заполнением полей в WooCommerce
Каким образом можно реализовать на плагине WooCommerce следующую возможность: на странице одного товара присутствуют поля типа &quot;Полное...

13
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
02.10.2013, 16:06
Короч... если поменялась лотусовая форма, то в этом коде ищем строки на подобии такой:
doc.Adress = tmp
Это означает в документе doc изменить поле Adress на значение tmp
Еще есть Doc.replaceItemvalue(<имя поля>,<Значение>)

Далее глазами проверяем какие поля в новой форме соответствуют полям в старой.
И меняем в коде.
0
MoksK
02.10.2013, 16:31
Цитата Сообщение от savl
Короч... если поменялась лотусовая форма, то в этом коде ищем строки на подобии такой:
doc.Adress = tmp
Это означает в документе doc изменить поле Adress на значение tmp
Еще есть Doc.replaceItemvalue(<имя поля>,<Значение>)

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

Поменялась не лотусовая форма. А форма электронных обращений на сайте, которая сохроняет файлы doc а лотус потом импортирует сам файл, и из этого файла берет определенные поля для авто-заполнения карточки)
Так вот поменялись название полей формы на сайте.
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
02.10.2013, 17:18
ничего не понятно!
где код кот. берет поля из ворда?
только тескт вставляется

Добавлено: вот вся "работа":

Code
1
2
3
  Set myRange = WordDoc.Content
ContentofFile = myRange.Text
WordObj.Quit
с вордом
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
02.10.2013, 17:29
теперь совсем не понятно...
Код, который предоставлен обрабатывает документ Word и создает документы в Lotus на основе Word.
Работа со страницей сайта здесь не отражена.

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

Так что не так то?)
Документ в Lotus не создается?
Создается, но пустой? (возможно неверная обработка текста из ворда)
0
MoksK
06.10.2013, 10:24
Цитата Сообщение от savl
теперь совсем не понятно...
Код, который предоставлен обрабатывает документ Word и создает документы в Lotus на основе Word.
Работа со страницей сайта здесь не отражена.

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

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

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

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


вот напрмер поля с этими названиями есть в документах лотус, и они раньше заполнялись. Тесть текст из ворда в лотусовский документ вставляся не понустью, а только определенные поля.
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
06.10.2013, 11:04
У вас неверный парсер текста из Word, там поменялись текстовки.
Надо новые текстовки вставить в парсер вместо старых, а возможно и весь парсер переписать, так как обработка может сильно поменяться.
0
MoksK
06.10.2013, 11:17
Цитата Сообщение от savl
У вас неверный парсер текста из Word, там поменялись текстовки.
Надо новые текстовки вставить в парсер вместо старых, а возможно и весь парсер переписать, так как обработка может сильно поменяться.

Парсер я так понял находистя в этом коде что я скидывал в пример?
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
06.10.2013, 11:39
Парсер я так понял находистя в этом коде что я скидывал в пример?
Именно
0
MoksK
06.10.2013, 12:10
Добавлено:


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

Немогли бы вы показать кусок кода с этим парсером?
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
06.10.2013, 12:25
Практически все строки где есть 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, "Адресат:")) - как и с руководителем получаем адресата.
И так далее и тому подобное.


.SpoilerTarget">Спойлер: Раскрывающийся Текст


LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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)
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
06.10.2013, 14:57
мда... я конечно все понимаю, но парсер из стринговых операций, в ЛС - это что-то
об эффективности никто не думал
второе - шаблоны для парсера жестко вшиты в код - надо настроечный док
для поиска строк можно использовать встроенный в java http://stackoverflow.com/questions/1117144...cher-find-works
http://tutorials.jenkov.com/ja... tcher.html
http://www.javapractices.com/t... n.do?Id=87
0
MoksK
14.10.2013, 12:09
Всем спасибо исправил таким образом:
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
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
14.10.2013, 12:26
MaksK
Не за что, случай частный. Код под споллер уберите пож-та.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2013, 12:26
Помогаю со студенческими работами здесь

Страница с заполнением полей ввода, и их отправкой
Здравствуйте, у меня такой вопрос, существует ли плагин, либо может есть статья, которая подскажет как реализовать следующее: Имеется...

(lotusscript) Вставка значений текущей карточки документа в Ms Word
Подскажите пожалуйста, как вставить значения полей текущей (или по имени, выборочно) карточки документа (например форма MyFrm, значение...

Импорт из БД в шаблон .doc
Здравствуйте! Подскажите ,пожалуйста, как реализовать импорт данных из базы в вордовский шаблон. Т.е. В готовый вордовский шаблон,...

Импорт текстовых файлов .doc, .docx
Форумчане, доброго времени суток! Прошу Вашей помощи! Есть форма, через которую можно импортировать данные перечня элементов формата...

Генерация doc документа
Всем привет. Стоит такая задача: нужно создать приложение, в котором я заполняю поля, отмечаю что нужно флажками и т д и оно генерирует...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru