× Linguagem de Programação ADVPL

Perguntas IMPORTAÇÃO DE ARQUIVO XLS PARA PROTHEUS

Mais
10 anos 2 meses atrás #24824 por Waldenilson
Bom dia,

Estou com problemas de fazer uma rotina que leia um arquivo XLS e carregar esses dados na minha tabela SB1, já tentei com utilizar a rotina CargaXLS que tem disponível

para download aqui no site mais me parece que essa rotina só serve para versão anterior do Protheus 10. E gerou o seguinte log.


THREAD ERROR (adm, PCENG04) 02/09/2014 11:24:16
variable does not exist OMAINWND on U_CARGAXLS(CARGAXLS.PRW) 02/09/2014 11:22:51 line : 46

[TOTVS build: 7.00.120420A-20120726]
Publicas
Public 1: CPAISLOC(C) :BRA

STACK U_CARGAXLS(CARGAXLS.PRW) 02/09/2014 11:22:51

Param 1: CARQE(U) : NIL
Param 2: CORIGEME(U) : NIL
Param 3: NLINTITE(U) : NIL
Param 4: LTELA(L) : .T.
Private 1: CARQ(C) :
Private 2: CARQMACRO(C) :XLS2DBF.XLA
Private 3: CTEMP(C) :C:\Users\adm.CMV\AppData\Local\Temp\
Private 4: CSYSTEM(C) :\SYSTEM\
Private 5: CORIGEM(C) :
Private 6: NLINTIT(N) :0
Private 7: AARQUIVOS(A) :
Private 8: ARET(A) :
Local 1: CARQE(U) :NIL
Local 2: CORIGEME(U) :NIL
Local 3: NLINTITE(U) :NIL
Local 4: LTELA(L) :.T.
Local 5: BOK(B) :{||LOK:= .T. ,ODLG:END()}
Local 6: BCANCEL(B) :{||LOK:= .F. ,ODLG:END()}
Local 7: LOK(L) :.F.
Local 8: NLIN(N) :20
Local 9: NCOL1(N) :15
Local 10: NCOL2(N) :45
Local 11: CMSG(C) :
Local 12: ODLG(U) :NIL
Local 13: OARQ(U) :NIL
Local 14: OORIGEM(U) :NIL
Local 15: OMACRO(U) :NIL

STACK { | E | ERRORDIALOG( E ) }(APLIB240.PRW) 07/01/2013 10:36:52

Param 1: E(O) : O
Local CodeBlock 1: E(O) :O

STACK ERRORDIALOG(APLIB240.PRW) 07/01/2013 10:36:52

Param 1: E(O) : O
Local 1: E(O) :O
Local 2: LINSIGA(L) :.F.
Local 3: CMSG(U) :NIL
Local 4: NI(U) :NIL
Local 5: CX(U) :NIL
Local 6: URETURN(U) :NIL
Local 7: CERROR(U) :NIL
Local 8: LSKIPERROR(L) :.F.

STACK ERRORDLG(APLIB240.PRW) 07/01/2013 10:36:52

Param 1: OERR(O) : O
Local 1: OERR(O) :O
Local 2: ODLG(U) :NIL
Local 3: OFONT(U) :NIL
Local 4: OBMP(U) :NIL
Local 5: OPANEL(U) :NIL
Local 6: OPANELBMP(U) :NIL
Local 7: ODETAIL(U) :NIL
Local 8: OSEND(U) :NIL
Local 9: OCLOSE(U) :NIL
Local 10: OERROR(U) :NIL
Local 11: CMSG(U) :NIL

Files

Alguém tem alguma rotina parecida ou semelhante para me ajudar.. Fico no aguardo

Obrigado!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás #24848 por admin
Comenta essa linha:

//Define MsDialog oDlg Title 'Integração de Excel' From 7,10 To 20,50 OF oMainWnd

e muda para:

Define MsDialog oDlg Title 'Integração de Excel' From 7,10 To 20,50

compila e veja se funfa.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás #24858 por Waldenilson
Amigo segui o que vc envio no tópico compilei essa alteração.

Mas quando a rotina iniciou a mesma deu mais um erro na linha 65. Na função ENCHOICEBAR. Estou enviando o erro de log.

THREAD ERROR (adm, PCENG04) 03/09/2014 08:56:14
Alias does not exist SX2 on ALIASINDIC(MATA103.PRW) 04/03/2013 11:50:58 line : 15012

[TOTVS build: 7.00.120420A-20120726]
Called from ENCHOICEBAR(MSLIB.PRW) 06/02/2013 14:13:32 line : 1387
Called from {|SELF|ENCHOICEBAR(ODLG,BOK,BCANCEL)}(CARGAXLS.PRW) 03/09/2014 08:55:35 line : 65
Called from ::MSDIALOG:ACTIVATE
Called from U_CARGAXLS(CARGAXLS.PRW) 03/09/2014 08:55:35 line : 65
Publicas
Public 1: CPAISLOC(C) :BRA

STACK U_CARGAXLS(CARGAXLS.PRW) 03/09/2014 08:55:35

Param 1: CARQE(U) : NIL
Param 2: CORIGEME(U) : NIL
Param 3: NLINTITE(U) : NIL
Param 4: LTELA(L) : .T.
Private 1: CARQ(C) :
Private 2: CARQMACRO(C) :XLS2DBF.XLA
Private 3: CTEMP(C) :C:\Users\adm.CMV\AppData\Local\Temp\
Private 4: CSYSTEM(C) :\SYSTEM\
Private 5: CORIGEM(C) :
Private 6: NLINTIT(N) :0
Private 7: AARQUIVOS(A) :
Private 8: ARET(A) :
Local 1: CARQE(U) :NIL
Local 2: CORIGEME(U) :NIL
Local 3: NLINTITE(U) :NIL
Local 4: LTELA(L) :.T.
Local 5: BOK(B) :{||LOK:= .T. ,ODLG:END()}
Local 6: BCANCEL(B) :{||LOK:= .F. ,ODLG:END()}
Local 7: LOK(L) :.F.
Local 8: NLIN(N) :70
Local 9: NCOL1(N) :15
Local 10: NCOL2(N) :45
Local 11: CMSG(C) :
Local 12: ODLG(O) :O
Local 13: OARQ(O) :O
Local 14: OORIGEM(O) :O
Local 15: OMACRO(O) :O

STACK ::MSDIALOG:ACTIVATE

Local 1: SELF(O) :O

STACK {|SELF|ENCHOICEBAR(ODLG,BOK,BCANCEL)}(CARGAXLS.PRW) 03/09/2014 08:55:35

Param 1: SELF(O) : O
Local CodeBlock 1: SELF(O) :O

STACK ENCHOICEBAR(MSLIB.PRW) 06/02/2013 14:13:32

Param 1: ODLG(O) : O
Param 2: BOK(B) : {||LOK:= .T. ,ODLG:END()}
Param 3: BCANCEL(B) : {||LOK:= .F. ,ODLG:END()}
Param 4: LMESSAGEDEL(L) : .F.
Param 5: ABUTTONS(U) : NIL
Param 6: NREG(U) : NIL
Param 7: CALIAS(U) : NIL
Param 8: LMASHUPS(L) : .T.
Param 9: LIMPCAD(L) : .T.
Param 10: LPADRAO(L) : .T.
Param 11: LHASOK(L) : .T.
Param 12: LWALKTHRU(L) : .T.
Local 1: ODLG(O) :O
Local 2: BOK(B) :{||LOK:= .T. ,ODLG:END()}
Local 3: BCANCEL(B) :{||LOK:= .F. ,ODLG:END()}
Local 4: LMESSAGEDEL(L) :.F.
Local 5: ABUTTONS(U) :NIL
Local 6: NREG(U) :NIL
Local 7: CALIAS(U) :NIL
Local 8: LMASHUPS(L) :.T.
Local 9: LIMPCAD(L) :.T.
Local 10: LPADRAO(L) :.T.
Local 11: LHASOK(L) :.T.
Local 12: LWALKTHRU(L) :.T.
Local 13: OFORMBAR(O) :O
Local 14: BSET15(U) :NIL
Local 15: BSET24(U) :NIL
Local 16: BOKACTION(B) :{|| ( LOKOK:=IF(LMESSAGEDEL,IIF(FINDFUNCTION("APMSGYESNO"), APMSGYESNO(OEMTOANSI(IF( CPAISLOC $ "ANG|PTG", "CONFIRMAR A EXCLUSãO ?", "CONFIRMA A EXCLUSAO ?" )), OEMTOANSI("ATENçãO")), (CMSGYESNO:="MSGYESNO", &CMSGYESNO.(OEMTOANSI(IF( CPAISLOC $ "ANG|PTG", "CONFIRMAR A EXCLUSãO ?", "CONFIRMA A EXCLUSAO ?" )), OEMTOANSI("ATENçãO")))), .T. ),LOK:=IF(LOKOK,(REGOTO(NREG,CALIAS),SAFEEVAL(BOK)), .F. ),EVALRETOK(LOK,NBAR),IF(TYPE("INCLUI") = "L" .AND. __NNIVELBAR == 0,__LLOOP := INCLUI,)) }
Local 17: BCANACTION(B) :{|| ( __LLOOP:= .F. ,EVAL(BCANCEL),BUTTONOFF(BSET15,BSET24, .T. )) }
Local 18: LOK(U) :NIL
Local 19: LOKOK(U) :NIL
Local 20: NBAR(N) :0
Local 21: CALIASATU(C) :
Local 22: NX(U) :NIL
Local 23: CTITLE(U) :NIL
Local 24: NTAMABUTTONS(U) :NIL
Local 25: LHASSHORTCUT(U) :NIL
Local 26: NSHORTCUT(N) :0
Local 27: CSETKEYLIST(C) :
Local 28: CTOOLTIP(C) :

STACK ALIASINDIC(MATA103.PRW) 04/03/2013 11:50:58

Param 1: CALIAS(C) :
Param 2: LHELP(U) : NIL
Local 1: CALIAS(C) :
Local 2: LHELP(U) :NIL
Local 3: AAREA(A) :
Local 4: AAREASX2(A) :
Local 5: AAREASX3(A) :
Local 6: LRET(L) :.F.
Local 7: NAT(N) :0

STACK { | E | ERRORDIALOG( E ) }(APLIB240.PRW) 07/01/2013 10:36:52

Param 1: E(O) : O
Local CodeBlock 1: E(O) :O

STACK ERRORDIALOG(APLIB240.PRW) 07/01/2013 10:36:52

Param 1: E(O) : O
Local 1: E(O) :O
Local 2: LINSIGA(L) :.F.
Local 3: CMSG(U) :NIL
Local 4: NI(U) :NIL
Local 5: CX(U) :NIL
Local 6: URETURN(U) :NIL
Local 7: CERROR(U) :NIL
Local 8: LSKIPERROR(L) :.F.

STACK ERRORDLG(APLIB240.PRW) 07/01/2013 10:36:52

Param 1: OERR(O) : O
Local 1: OERR(O) :O
Local 2: ODLG(U) :NIL
Local 3: OFONT(U) :NIL
Local 4: OBMP(U) :NIL
Local 5: OPANEL(U) :NIL
Local 6: OPANELBMP(U) :NIL
Local 7: ODETAIL(U) :NIL
Local 8: OSEND(U) :NIL
Local 9: OCLOSE(U) :NIL
Local 10: OERROR(U) :NIL
Local 11: CMSG(U) :NIL

Files

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás #24870 por admin
Brother vc colocou o programa para rodar a partir de uma opção no menu ?

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás #24871 por Waldenilson
Não ! O que eu devo fazer? Tenho que criar um menu para essa rotina ?

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás #24875 por admin
Brother vc deverá criar uma opção no menu para chamar esta rotina.

vai no configurador e seleciona o menu que do módulo que deseja roda-la e acrescenta chamando este fonte.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.151 segundos
Joomla templates by a4joomla