Передача данных в ексел 2000 в среде вин2000 .



Posted by Каскевич Всеволод (195.248.191.65) on September 03, 2001 at 14:08:15:

Уважаемые коллеги !
Пользуясь локальной версией ultraF FINW возникает необходимость експорта данных в ексел.
пример программы для експорта описан у наших коллег- фирмы Кардинал, и взят с ее сайта.
несколько измененный вид формы позволяет выводить в таблицу Ексел данные по операциям , например, движение по расчетному счету.
привожу форму:
SY=[ddeInitiate 'excel','system']
! SY=0

stop
!
r=1
DT=[ir 'какой- то вопрос,/...]

h=[ddeInitiate 'excel','director.xls']
! h=0
.# ÄΓ¬αδΓ Σá⌐½ Director.XLS
!
z=[ddeExecute SY, '[open("e:\Finw\K2000\director.xls")]']
z=[ddeWaitAck 2000]
h=[ddeInitiate 'excel','[director.xls]Acnt']
W=[ddeWaitAck 2000]
!
! H=0
.# æó∩º∞ ß Director.XLS ¡Ñ πßΓá¡«ó½Ñ¡á
stop
!

rewind facts range (mc+dt/100),mc+(dt+1)/100

select - тут описание факта-
K=[selected]
![success]=0
goto EXIT1
!
FOR r=1+7 to k+7
search - тут єтот факт ищется-
C=1
Call ROWCOL
Z=[DDEpoke H, RC, [sn r-7,3,0]]
C=2
Call ROWCOL
z=[DDEpoke H, RC,[intsn x1]]
*C=3
*Call ROWCOL
*Z=[DDEpoke H, RC,[intsn x2]]
C=4
CALL ROWCOL
Z=[DDEpoke H, RC, [N2 *X3]]
*C=5
W=[ddeWaitAck 200]
^^^^^^^^^^^^^^^^^^^^^dt ^^^^^^^^^^^x1 ^^^^^^^^^^^^^^^^^^x3
A=[ddeterminate H]
*A=[ddeterminate SY]

stop
:EXIT
stop
:ROWCOL
RC='R'+[intsn R]+'C'+[intsn c]
RETURN

К сожалению, данная процедура выполняется только один раз,
последующее обращение "затыкает" ексел , и не позволяет выполнить другие процедуры, так же обращающиеся через dde.
В "нестабильной" вин 98 все работает , но мне не удобно перестраиваться под 98, хочу работать в 2000 !!!

Заранее благодарен за критику и ответы.
Каскевич Всеволод , Днепропетровск, ЧП Аллигатор


Пpишедшие ответы: