|
v7: Обработка Документа Word Текст+Таблицы и загрузка в 1С | ☑ | ||
---|---|---|---|---|
0
Geroy
08.04.14
✎
14:41
|
Как с документа в котором есть таблицы и текст , выбрать только текст?
Док.Paragraphs().Range.Text не подходит так как он выбирает все и содержимое таблиц и обычный текст Мне нужно Найти Текст , его взять за название папки в справочнике,после текста идут таблицы с них нужно выгрузить в справочник.нашасозданная папка И так выгружать каждую таблицу пока не дойдем до следующего текста,с следующим текстом снова создаем новую папку и в нее грузим все таблицы после второго текста и так до третьего |
|||
1
Масянька
08.04.14
✎
14:50
|
Текст - как обозначается (выделяется) в файле?
|
|||
2
Geroy
08.04.14
✎
15:03
|
(1)
http://rghost.ru/53878095.view Вот пример Мне надо найти сначало текст Aaa1 и создать папку в справочнике с названием "Ааа1" и потом выгрузить все таблицы после него и так до текста "Вавыавыавыа..." потом снова создать папку но уже "Вавыавыавыа..." и потом выгрузить таблицы после этого текста |
|||
3
Масянька
08.04.14
✎
15:06
|
(2) Так и обозначается текст "Ааа1", "Вавыаы.."?
|
|||
4
Geroy
08.04.14
✎
15:06
|
мне нужно определить текст + сделать проверка есть ли перед ним таблица и есть ли после него таблица)))
|
|||
5
Geroy
08.04.14
✎
15:08
|
(3) ну я пример скинул на скорую руку но документ будет похожей структуры
Текст Таблица Таблица таблица Текст2 таблица Текст3 Таблица Таблица и таких таблиц порядка 40-60 и в каждоый по 30-40 строк и по 5-10 колонок |
|||
6
Масянька
08.04.14
✎
15:08
|
(4) Определить текст по каким признакам?! Просто текста, который не должен никуда грузиться, нет?
|
|||
7
Geroy
08.04.14
✎
15:10
|
(6) лишнее я уберу руками оставлю только Текст который буду передавать как название папки
|
|||
8
Масянька
08.04.14
✎
15:17
|
(7) Бред (сама задача).
|
|||
9
Geroy
08.04.14
✎
15:20
|
(8) http://www.consultant.ru/document/cons_doc_LAW_104953/
Вот этот документ нужно выгрузить в Справочник 1С При этом автоматически создать Папки и Подпапки по разделам А Лишний текст не трогать) Вполне нормальная задача Вы мне подскажите как в документе в котором есть и Текст и Таблицы определить только текст) |
|||
10
Масянька
08.04.14
✎
15:21
|
(9) И где там таблицы?
|
|||
11
Geroy
08.04.14
✎
15:22
|
(10) посмотрите внимательнее , полистайте страницы
|
|||
12
Масянька
08.04.14
✎
15:25
|
(11) Во-первых, это не Word.
Во-вторых, зачем это нужно в 1С? В-третьих, распечатать, сесть за клаву и набить руками - "Дешево, надежно и практично" (С). |
|||
13
Geroy
08.04.14
✎
15:36
|
(12) у меня на руках такой же документ только word
работаю на крупном химической предприятии и это мне надо загрузить в 1С Те кто работали до меня именно руками и вносили Я не собираюсь это все вносить руками, смысл тогда от этого всего?:) |
|||
14
Масянька
08.04.14
✎
15:38
|
(13) Ну, так - вперед.
|
|||
15
Geroy
08.04.14
✎
15:40
|
(14) так бы сразу и сказали что не знаете ))
отдельно обработать файл doc с таблицами и отдельно обработать файл doc с текстом я могу, а вот как обработать файл в котором и текст и таблицы) как с документа doc в котором текст+таблицы выбрать только текст ? вот это мне надо) |
|||
16
Масянька
08.04.14
✎
15:43
|
(15) Странно.... Так же, как и по отдельности (текст и таблицы), только вместе.
|
|||
17
Geroy
08.04.14
✎
15:46
|
(16) ну вот как определить текст ? не через параграф
Док.Paragraphs(к).Range.Text я это спрашиваю |
|||
18
Масянька
08.04.14
✎
15:48
|
(17) Так же, как ты обрабатываешь файл с текстом.
|
|||
19
Geroy
08.04.14
✎
15:52
|
я его по параграфам и обрабатываю)))) но это мне не подходит
так как если использовать параграф то он обрабатывает и текст из таблиц тоже При чем 1 параграф это 1 ячейка таблицы например R1C1 А мне надо что-то другое) |
|||
20
Масянька
08.04.14
✎
15:59
|
(19) Какие параграфы?!
Я бы на твоем месте открыла букварь по Word'у (в инете есть) - и внимательно читала. // подставляем значения по тексту договора - признак замены [] мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); |
|||
21
Масянька
08.04.14
✎
16:01
|
// верхний колонтитул
мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); // подставляем значения в реквизиты покупателя: надпись, признак замены [] // надпись - РАГРУППИРОВАН СчетчикЦикла = 0; КолВоНадписей = мДок.Shapes.Count; Для СчетчикЦикла = 1 По КолВоНадписей Цикл мНашли = мДок.Shapes.Item(СчетчикЦикла).Select(); Если Число(мДок.Application.Selection.ShapeRange.Type) = 17 Тогда мДок.Application.Selection.Range.Find.Execute("[ПечПокупательРеквизиты]",0,0,,,,,,,СокрЛП(мПокупатель),2); мДок.Application.Selection.Range.Find.Execute("[ПечЮрАдресПокупателя]",0,0,,,,,,,СокрЛП(мЮрАдресПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечПочтАдресПокупателя]",0,0,,,,,,,СокрЛП(мПочтПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечТелефонПокупателя]",0,0,,,,,,,СокрЛП(мТелефонПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечИННПокупателя]",0,0,,,,,,,СокрЛП(мИННПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечКПППокупателя]",0,0,,,,,,,СокрЛП(мКПППокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечРСПокупателя]",0,0,,,,,,,СокрЛП(мРСчетПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечБанкПокупателя]",0,0,,,,,,,СокрЛП(мБанкПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечКСПокупателя]",0,0,,,,,,,СокрЛП(мКСчетПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечБИКБанкаПокупателя]",0,0,,,,,,,СокрЛП(мБИКПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечПокупательПодпись]",0,0,,,,,,,СокрЛП(ПодписьОтветственногоЛица),2); // заполнение таблицы номенклатуры Для СчетчикЦикла = 1 По Счет.КоличествоСтрок() Цикл мОбъект.Tables(1).Rows.Add(); // добавляем строку в конец таблицы Счет.ПолучитьСтрокуПоНомеру(СчетчикЦикла); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,1).Range.Text = Счет.НомерСтроки; мОбъект.Tables(1).Cell(СчетчикЦикла + 2,2).Range.Text = СокрЛП(Счет.Номенклатура.ПолнНаименование); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,3).Range.Text = СокрЛП(Формат(Счет.Количество, "Ч010.2")); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,4).Range.Text = Строка(Счет.Единица); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,5).Range.Text = глФрм(Счет.Цена); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,6).Range.Text = глФрм(Счет.СуммаНДС); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,7).Range.Text = глФрм(Счет.Сумма); |
|||
22
Масянька
08.04.14
✎
16:03
|
А вообще: это не кошерно - грузить большие объемы инфы из Word'а. Для этого есть Excel.
|
|||
23
Geroy
08.04.14
✎
16:09
|
(22)да я знаю ну а что делать)
Ничего не понятно с вашего примера) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |