Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Псевдоним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   |
|
Полезность: Нет оценки
|
Долго бы еще переписывались, если бы все карты не раскрыли
Пишите процедуру аналогично
Код: | 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 пишет: | Ну текст хотя бы покажите, что удалось написать. |
я бы выложил, если бы с горяча не удалил все....  |
|
 |
Псевдоним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; |
|
|
 |
|