Вход | Регистрация


1С:Предприятие ::

Метки: 

v8: У кого есть примеры работы с таблицами Word?

Я
   dclxvi
 
27.12.12 - 12:26
Надо прочитать данный из таблицы ворда.

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

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

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

У них генетически заложено повышать ЧСВ помогая мне.
 
 Рекламное место пустует
   samozvanec
 
11 - 27.12.12 - 12:54
(10) тоже проверим)
   djekting
 
12 - 27.12.12 - 13:02
   cw014
 
13 - 27.12.12 - 13:04
(12) Ты не понял. На такое уже был дан чоткий ответ в (2)
   AndyD
 
14 - 27.12.12 - 13:06
(10) вот пусть тебе животные и помогают!
   Eugene_life
 
15 - 27.12.12 - 13:17
Телепатирую.. 1986 год рождения
   dclxvi
 
16 - 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();    
    
КонецПроцедуры
   dclxvi
 
17 - 27.12.12 - 13:33
(12) Сенкс, местами помогло.
   dclxvi
 
18 - 27.12.12 - 13:34
(14) А ты не животное что ли?
   Maxus43
 
19 - 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();

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



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует