CftClub.ru
Клуб специалистов ЦФТ-Банк

открытие определенной страницы WORD

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
Псевдоним123
Участник - экстремал


Вступление в Клуб: 05.06.2018
СообщениеПт Сен 14, 2018 09:48   открытие определенной страницы WORD Ответить с цитатой
Полезность: Нет оценки
добрый день.

может кто-нибудь знает, можно ли в зависимости от условий открывать определенную страницу из шаблона WORD, то есть, в шаблоне 3 листа, а надо чтобы открылся только второй лист.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Сен 14, 2018 10:07    Ответить с цитатой
Полезность: Нет оценки
А остальные листы что? Закрылись? Не показывались?
Псевдоним123
Участник - экстремал


Вступление в Клуб: 05.06.2018
СообщениеПт Сен 14, 2018 10:25    Ответить с цитатой
Полезность: Нет оценки
остальные листы чтобы не показывались
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Сен 14, 2018 10:38    Ответить с цитатой
Полезность: Нет оценки
Удаляй, только не листы, а разделы. Каждый лист оформи отдельным разделом.
WrdDoc.Sections(1).Range.Delete
подставь нужный номер раздела
Псевдоним123
Участник - экстремал


Вступление в Клуб: 05.06.2018
СообщениеПт Сен 14, 2018 14:17    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Удаляй, только не листы, а разделы. Каждый лист оформи отдельным разделом.
WrdDoc.Sections(1).Range.Delete
подставь нужный номер раздела


в каком блоке блоке вывода на печать это написать, пробовал, не получилось...
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Сен 14, 2018 15:29    Ответить с цитатой
Полезность: Нет оценки
При выводе в Word обычно один блок. Можно удалять перед оператором
Call SetWordVisible(WrdApp, WrdDoc)
Вы Разрыв раздела добавили? По CTRL-G можете перейти в нужный раздел по номеру?
Псевдоним123
Участник - экстремал


Вступление в Клуб: 05.06.2018
СообщениеПт Сен 14, 2018 15:34    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
При выводе в Word обычно один блок. Можно удалять перед оператором
Call SetWordVisible(WrdApp, WrdDoc)
Вы Разрыв раздела добавили? По CTRL-G можете перейти в нужный раздел по номеру?



разделы добавил, по комбинации клавиш идет переход на указанный раздел
Псевдоним123
Участник - экстремал


Вступление в Клуб: 05.06.2018
СообщениеПт Сен 14, 2018 15:40    Ответить с цитатой
Полезность: Нет оценки
при такой конструкции где добавить строку?

::[RUNTIME].[WORD].Open_file([SYSTEM_PARAMS].Get('PATH_PRINT_DOC')||&ReportFile || '.dot', false);
::[RUNTIME].[WORD].Prepare_Doc_to_Put;
::[RUNTIME].[WORD].Update_Fields;
::[RUNTIME].[WORD].Visible;
::[RUNTIME].[WORD].Release;


пробовал, пишет: "У выражение [word] нет компоненты [sections]"
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Сен 14, 2018 15:55    Ответить с цитатой
Полезность: Нет оценки
Долго бы еще переписывались, если бы все карты не раскрыли Smile

Пишите процедуру аналогично

Код:
procedure Del_TabRow
         ( iTab      integer
         , iRow      integer
         ) is
begin
   if      mod_out = 'Word' then
      ds   := 'WordDoc.Tables(' || to_char(iTab, 'TM9')
            || ').Rows.Item('|| to_char(iRow, 'TM9') || ').Delete';
.....
   Add_Row;
end;

и Add_Row; свое
Псевдоним123
Участник - экстремал


Вступление в Клуб: 05.06.2018
СообщениеЧт Сен 20, 2018 14:59    Ответить с цитатой
Полезность: Нет оценки
ничего не получилось с процедурой, необходима помощь....
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеЧт Сен 20, 2018 15:11    Ответить с цитатой
Полезность: Нет оценки
Ну текст хотя бы покажите, что удалось написать.
Псевдоним123
Участник - экстремал


Вступление в Клуб: 05.06.2018
СообщениеЧт Сен 20, 2018 15:31    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Ну текст хотя бы покажите, что удалось написать.


я бы выложил, если бы с горяча не удалил все.... Embarassed Embarassed Embarassed Embarassed
Псевдоним123
Участник - экстремал


Вступление в Клуб: 05.06.2018
СообщениеЧт Сен 20, 2018 15:37    Ответить с цитатой
Полезность: Нет оценки
а у кого-нибудь есть макрос для удаления листа?
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеЧт Сен 20, 2018 15:44    Ответить с цитатой
Полезность: 1
Если по простому
В Локальных
Код:
pragma macro(rw,  [RUNTIME].[WORD]);

procedure Add_Row is
vNL      const   varchar2(1 char)   := LF$;   
begin
   if &rw.tbl_rep.exists (&rw.i_rep) and nvl( length( &rw.tbl_rep (&rw.i_rep) ), 0) + length(&rw.ds) > 30000 then
      &rw.ds := vNL || &rw.ds;
      &rw.i_rep   := &rw.i_rep + 1;
   end if;
   if &rw.tbl_rep.exists (&rw.i_rep) then   
      &rw.tbl_rep (&rw.i_rep)   := &rw.tbl_rep (&rw.i_rep) || vNL || &rw.ds;
   else                     
      &rw.tbl_rep (&rw.i_rep)   := &rw.ds;
   end if;
   &rw.ds   := null;
end;
---------------------------------------------------------------------------------
procedure Del_Section
         ( iSec      integer
         ) is
begin
   &rw.ds   := 'WordDoc.Sections(' || to_char(iSec, 'TM9')
            || ').Range.Delete';
   Add_Row;
end;


В Теле или где там

Код:
            
::[RUNTIME].[WORD].Update_Fields;
Del_Section(2); -- здесь номер раздела для удаления
::[RUNTIME].[WORD].Visible;
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru