добавление строк в ворде через клиент-скрипт
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
брат666 Участник со стажем
Вступление в Клуб: 20.02.2014
|
Чт Май 22, 2014 09:20  добавление строк в ворде через клиент-скрипт |
|
Полезность: Нет оценки
|
здравствуйте!
помогите пожалуйста.проблема в отчетности.не могу добавить строки в таблицу через кл-скрипт.заранее благодарен. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
|
 |
брат666 Участник со стажем
Вступление в Клуб: 20.02.2014
|
Чт Май 22, 2014 11:10  добавление строк в ворде через клиент-скрипт |
|
Полезность: Нет оценки
|
Код: | Public function PrintWordDoc
if not OpenWordDoc(WrdApp, WrdDoc, GetData("REPORTFILE")) then
'MsgBox "Can not open file!"
PrintWordDoc = False
Exit Function
end if
dim FieldsColl
set FieldsColl = WrdApp.ActiveDocument.FormFields
if FieldsColl.Count >= 1 then
for Each aField in FieldsColl
Text4Setting = GetData(aField.Name)
if Text4Setting = "" then
Text4Setting = " "
end if
if Len(Text4Setting) > 255 _
or instr(1, Text4Setting, vbLF, vbBinaryCompare) > 0 _
then
WrdDoc.FormFields(aField.Name).Select
Call WrdApp.Selection.TypeText(Text4Setting)
else
aField.Result = Text4Setting
end if
next
end If
MsgBox "-----"
------------------ отсюда мои добавлении
Call SetBracketsFields(WrdApp, WordDoc,"TABLE" )
MsgBox cnt1
For m = 1 To cnt
WordDoc.Tables(1).Rows.Add
WordDoc.Tables(1).Cell(1,2).Range.InsertAfter("ids")
columnsCount = WordDoc.Tables(1).Columns.Count
'WordDoc.Tables(1).Cell(1, 3).Range.InsertBefore("ddd")
MsgBox cnt2
Next
call SetWordVisible(WrdApp, WrdDoc)' pokazat` dokument
'WrdDoc.ExportAsFixedFormat "C:\Temp\main_doc.pdf", 17, true, 0, 0,1, 1, 0, True,True, 0, True, True, False
PrintWordDoc = True
End function
|
вот тут надо разобратся,никак не получается.ваш пример использовал раньше.но в данном случае так надо.помогите если не трудно.спс за ранее. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Май 22, 2014 12:12   |
|
Полезность: Нет оценки
|
Переменные cnt и cnt1 где инициализируются ? |
|
 |
брат666 Участник со стажем
Вступление в Клуб: 20.02.2014
|
Чт Май 22, 2014 13:24   |
|
Полезность: Нет оценки
|
vtar пишет: | Переменные cnt и cnt1 где инициализируются ? |
cnt1 закоментировал, а cnt инициализируется в ПРОВЕРКЕ.
Код: | IF P_INFO = 'COUNT' THEN
--debug_pipe('www',0);
CNT := 0;
IDS := '';
i := V_SCHET.first;
while i is not null loop
if V_SCHET(i).[SEL_S] then
CNT := CNT + 1;
--draw_report;
IDS := IDS || V_SCHET(i).[CL_SCH] || ',';
end if;
i := V_SCHET.next(i);
end loop;
V_DEST := CNT;
ELSif p_info = 'REPORTFILE' then
--m := INSTR(IDS, ',', 1, 1);
----
--SCHET := SUBSTR(IDS, 1, m - 1);
--IDS := SUBSTR(IDS, m + 1, LENGTH(IDS));
--LOCATE SCHET_REF in ::[AC_FIN] ALL
-- WHERE SCHET_REF = SCHET;
--
-- v_shet := SCHET_REF.[MAIN_V_ID];
V_DEST := 'TEST.docx';
ELSif p_info = 'REPORTPATH' then
V_DEST := 'D:\'; |
|
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Май 22, 2014 14:06   |
|
Полезность: 1
|
Бро,
если хочешь что то передать из операции в клиент скрипт,
заведи ПЕРЕМЕННУЮ (свойства - переменные , напр. V_CNT ), положи ее в редакторе на форму (можно сделать невидимой),
и тогда в клиент скрипте можно считать значение через V_CNT.text
это будет текст, то есть возможно еще нужно преобразовать или присвоить цифровой переменной ( а может и так прокатит) |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пн Май 26, 2014 09:04   |
|
Полезность: 1
|
vtar пишет: | Бро,
если хочешь что то передать из операции в клиент скрипт,
заведи ПЕРЕМЕННУЮ (свойства - переменные , напр. V_CNT ), положи ее в редакторе на форму (можно сделать невидимой),
и тогда в клиент скрипте можно считать значение через V_CNT.text
это будет текст, то есть возможно еще нужно преобразовать или присвоить цифровой переменной ( а может и так прокатит) |
см. также RUNTIME.CSMD.
Это библиотека для исполнения VBS-скрипта, сформированного в PL/+-тексте операции.
Там есть комментарии.
И можно поискать примеры применения. |
|
 |
ezhem Участник со стажем
Вступление в Клуб: 22.05.2008
|
Вт Июн 10, 2014 08:22   |
|
Полезность: Нет оценки
|
Random пишет: | vtar пишет: | Бро,
если хочешь что то передать из операции в клиент скрипт,
заведи ПЕРЕМЕННУЮ (свойства - переменные , напр. V_CNT ), положи ее в редакторе на форму (можно сделать невидимой),
и тогда в клиент скрипте можно считать значение через V_CNT.text
это будет текст, то есть возможно еще нужно преобразовать или присвоить цифровой переменной ( а может и так прокатит) |
см. также RUNTIME.CSMD.
Это библиотека для исполнения VBS-скрипта, сформированного в PL/+-тексте операции.
Там есть комментарии.
И можно поискать примеры применения. |
На самом деле есть RUNTIME.WORD, где имеются уже готовые функции (Add_TabRow, Del_TabRow, Set_CellValue, ...) для управления таблицами в ворде и не нужно изгаляться в клиент-скрипте.
Вообще отчеты и печатные формы в EXCEL и WORD в дистрибутиве сейчас делаются средствами OOXML, где клиент-скрипта уже нет. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|