Имя: Пароль:
1C
1С v8
v8: У кого есть примеры работы с таблицами Word?
0 dclxvi
 
27.12.12
12:26
Надо прочитать данный из таблицы ворда.

Есть в документ несколько таблиц, перебрать их найти нужную, и считать данные.

Если есть какие примеры зашлите плиз:
[email protected]
1 dk
 
27.12.12
12:34
капец народ обнаглел
(0) в поиске посмотреть не пробовал?
2 dclxvi
 
27.12.12
12:35
(1) С поиском я и сам напишу
3 samozvanec
 
27.12.12
12:37
(2) уверен?
4 AquaKosh
 
27.12.12
12:46
Соглашусь с (1) - народ обнаглел в конец.
5 dclxvi
 
27.12.12
12:47
(3) Да
6 cw014
 
27.12.12
12:47
(4) Вообще, не хочет свои наработки бесплатно отдавать, что за наглеж?
7 dclxvi
 
27.12.12
12:47
(4) А зачем форум то?
8 samozvanec
 
27.12.12
12:49
(5) вот и проверим
9 rs_trade
 
27.12.12
12:49
(7) ЧСВ потешить. Думал тебе помогать?
10 dclxvi
 
27.12.12
12:51
(9) > ЧСВ потешить. Думал тебе помогать?

Приматы социальны животные.

У них генетически заложено повышать ЧСВ помогая мне.
11 samozvanec
 
27.12.12
12:54
(10) тоже проверим)
12 djekting
 
27.12.12
13:02
13 cw014
 
27.12.12
13:04
(12) Ты не понял. На такое уже был дан чоткий ответ в (2)
14 AndyD
 
27.12.12
13:06
(10) вот пусть тебе животные и помогают!
15 Eugene_life
 
27.12.12
13:17
Телепатирую.. 1986 год рождения
16 dclxvi
 
27.12.12
13:33
Может кому понадобится

Функция  ВзятьСтроку(ТекТекст)
   Если СтрЧислоСтрок(ТекТекст)>0 Тогда
       ТекСтрока=СтрПолучитьСтроку(ТекТекст,1);
   Иначе
       ТекСтрока="";
   КонецЕсли;
   
   
   Возврат  ТекСтрока
КонецФункции


Процедура КнопкаВыполнитьНажатие(Кнопка)
   Wk = Новый COMОбъект("Word.Application");
   Wk.Visible = Истина; Wk.Documents.Open("D:\Temp_Баранов\V8\Base\ФМС\2.rtf");
   Документ = Wk.ActiveDocument();
   
   Для Каждого Таблица из Документ.Tables Цикл
       
       ТекСтрока=ВзятьСтроку(СокрЛП(Таблица.Cell(1, 1).Range().Text));
       
       
       Если  ТекСтрока="Документ, подтверждающий проведение операции" Тогда
           Для н=4 По  Таблица.Rows.Count Цикл
               сообщить("строка: "+н);
               Для м=1 По  Таблица.Columns.Count Цикл
                   сообщить("колонка: "+м);
                   Сообщить(ВзятьСтроку(СокрЛП(Таблица.Cell(н, м).Range().Text)));
               КонецЦикла;
           КонецЦикла;
       Конецесли;
   КонецЦикла;    
   Документ.Close();
   Wk.Quit();    
   
КонецПроцедуры
17 dclxvi
 
27.12.12
13:33
(12) Сенкс, местами помогло.
18 dclxvi
 
27.12.12
13:34
(14) А ты не животное что ли?
19 Maxus43
 
27.12.12
13:35
Попытка
   MSWord = Новый COMОбъект("Word.Application");

Исключение
   Сообщить("Не удалось инициализировать Microsoft Word");
   
   Возврат;
   
КонецПопытки;

Запрос = Новый Запрос;

// Получить данные для формируемого прайс-листа.
Запрос.Текст =
"ВЫБРАТЬ
|    ЦеныКомпанииСрезПоследних.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения,
|    ЦеныКомпанииСрезПоследних.Цена,
|    ЦеныКомпанииСрезПоследних.Номенклатура.Наименование КАК Номенклатура,
|    1 КАК Количество
|ИЗ
|    РегистрСведений.ЦеныКомпании.СрезПоследних(&Дата, ТипЦен = &ТипЦен) КАК ЦеныКомпанииСрезПоследних
|
|УПОРЯДОЧИТЬ ПО
|    Номенклатура
|
|ИТОГИ Количество(Количество) ПО
|    ОБЩИЕ";

Запрос.УстановитьПараметр("Дата"  , ТекущаяДата());
Запрос.УстановитьПараметр("ТипЦен", ТипЦен);

Результат = Запрос.Выполнить();            

Попытка

   // Создать новый документ
   MSWord.Documents.Add();
   Документ = MSWord.ActiveDocument();
   
   // Добавить новый параграф в созданный документ.
   Документ.Paragraphs.Add();
   
   НомерПараграфа = Документ.Paragraphs.Count();
   Параграф       = Документ.Paragraphs.Item(НомерПараграфа);

   // В созданный параграф вставить новый «диапазон»
   // и разместить в нем текст «Прайс-Лист».
   Параграф.Range.InsertAfter("Прайс-Лист");

   // Установить стиль параграфа «Заголовок 1» (он должен быть определен).
   Параграф.Range.Style = "Заголовок 1";
   
   Документ.Paragraphs.Add();
   НомерПараграфа = Документ.Paragraphs.Count();
   Параграф       = Документ.Paragraphs.Item(НомерПараграфа);
   Параграф.Range.InsertAfter("Сформирован на дату: " + Строка(ТекущаяДата()));
   Параграф.Range.Style = "Обычный";
   
   ВыборкаКоличества = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   ВыборкаКоличества.Следующий();
   КоличествоСтрок = ВыборкаКоличества.Количество;
   
   Документ.Paragraphs.Add();
   
   НомерПараграфа = Документ.Paragraphs.Count();
   Параграф       = Документ.Paragraphs.Item(НомерПараграфа);

   // Вставить таблицу с количеством строк равным количеству записей
   // в выборке результата запроса и с тремя колонками
   Документ.Tables.Add(Параграф.Range, КоличествоСтрок, 3);

   // Получить таблицу как объект в отдельную переменную
   // учитывая тот факт, что таблица у нас единственная    
   Таблица = Документ.Tables.Item(1);

   // Записать данные в ячейку таблицы строка №1, колонка №1
   Таблица.Cell(1,1).Range().InsertAfter("Номенклатура");

   // Установить цвет фона в ячейке
   Таблица.Cell(1,1).Shading.BackgroundPatternColor = 16776960;
   Таблица.Cell(1,2).Range().InsertAfter("Цена");
   Таблица.Cell(1,2).Shading.BackgroundPatternColor = 16776960;
   Таблица.Cell(1,3).Range().InsertAfter("Ед.Изм.");
   Таблица.Cell(1,3).Shading.BackgroundPatternColor = 16776960;
   
   НомерСтроки = 1;
   Выборка = ВыборкаКоличества.Выбрать();

   Пока Выборка.Следующий() Цикл
       НомерСтроки = НомерСтроки + 1;
       
       Таблица.Cell(НомерСтроки,1).Range().InsertAfter(Выборка.Номенклатура);
       Таблица.Cell(НомерСтроки,2).Range().InsertAfter(Строка(Выборка.Цена));
       Таблица.Cell(НомерСтроки,3).Range().InsertAfter(Выборка.ЕдиницаИзмерения);
       
   КонецЦикла;    
   
   MSWord.Visible = Истина;
   MSWord.Activate();

Исключение

   // Если произойдет ошибка выводятся данные об ошибке и объект закрывается.
   Сообщить(ОписаниеОшибки());
   MSWord.Application.Quit();

КонецПопытки;
20 НЕА123
 
27.12.12
13:36
(18)
ОФФ. Ложка деревянная али металл какой?
21 dclxvi
 
27.12.12
13:37
(19) Это запись, а мне чтение нужно было.
22 Eugene_life
 
27.12.12
13:39
:D "D:\Temp_Баранов\V8\Base\ФМС\2.rtf"(c) посмеялся
23 dclxvi
 
27.12.12
13:45
(22) И в чем проблема?
24 Maxus43
 
27.12.12
13:47
(21) а может пригодится