× Linguagem de Programação ADVPL

Perguntas Curriculos x Word ( Integração )

Mais
11 anos 8 meses atrás #11276 por michelp
Bom dia,

Preciso integrar alguns dados do curriculo ao Word, mais estou com dificuldade para achar o erro de lógica do programa.

THREAD ERROR (administrador, SERVER2) 04/03/2013 10:17:12
type mismatch on compare on IMPWORD(INTWORD.PRW) 04/03/2013 10:16:20 line : 75

Será que alguém pode me ajudar.

#include "Protheus.Ch"

#include "MSOle.Ch"

User Function tword()

Local nOpcA := 0

Local cPerg := "MSWORD"

Private cCadastro := "Integração Protheus Vs Ms-Word"

Private aSay := {}

Private aButton := {}

Pergunte(cPerg,.F.)

aAdd( aSay, "Esta rotina irá imprimir informacoes do candidato" )

aAdd( aButton, { 5,.T.,{|| Pergunte(cPerg,.T. )}})

aAdd( aButton, { 1,.T.,{|| nOpca := 1,FechaBatch()}})

aAdd( aButton, { 2,.T.,{|| FechaBatch() }} )

FormBatch( cCadastro, aSay, aButton )

If nOpcA == 1

Processa( {|| ImpWord() }, "Processando..." )

Endif

Return

Static Function ImpWord()

Local oWord := Nil

Local cTitulo1 := "Selecione o arquivo"

Local cExtens := "Modelo Word | *.dot"

Local cFileOpen := ""

Local cFileSave := ""

cFileOpen := cGetFile(cExtens,cTitulo1,,,.T.)

oWord := OLE_CreateLink()

OLE_NewFile( oWord, cFileOpen )

dbSelectArea("SQG")

dbSetOrder(1) // Indice 1 : QG_FILIAL+QG_CURRIC

dbSeek( xFilial("SQG")+mv_par01+mv_par02 )

If !Found()

Help("",1,"NORECNO")

RETURN

End

OLE_SetDocumentVar( oWord, 'MS_QG_CURRIC' , SQG->QG_CURRIC )

OLE_SetDocumentVar( oWord, 'MS_QG_NOME', SQG->QG_NOME )

OLE_UpDateFields( oWord )

If mv_par03<>3

If mv_par03==1

OLE_SetProperty( oWord, '208', .F. )

OLE_PrintFile( oWord )

Elseif mv_par03 == 2

cFileSave := SubStr(cFileOpen,1,At(".",Trim(cFileOpen))-1)

OLE_SaveAsFile( oWord, cFileSave+SA1->A1_COD+"_AP5.doc" )

Endif

OLE_CloseLink( oWord )

Endif

Return
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 8 meses atrás #11292 por kanaamlrr
Respondido por kanaamlrr no tópico Curriculos x Word ( Integração )
Cara, pelo que eu consegui ver, o erro pode ser nos "IFS" que você tem dentro da função ImpWOrd.

Verifica se os "MV_PARXX" são tipo numérico, pois a comparação está com numérico.

Provavelmente é caracter, dessa forma você pode converter para numérico ou colocar sua constante como caracter adicionando aspas no inicio e no fim dela.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 8 meses atrás #11293 por michelp
Respondido por michelp no tópico Curriculos x Word ( Integração )
Kanaâm, obrigado pela ajuda, mais ainda não deu certo.

Olha como deixei e veja por favor se fiz corretamente.

Outra coisa que esta me intrigando é que ao abrir o .DOT aparece a mensagem de erro direto na função, porém já fiz isso e sempre deu certo.

Se puder me ajudar, não sou muito bom em advpl e estou perdido.

Att. Michel
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 8 meses atrás #11295 por kanaamlrr
Respondido por kanaamlrr no tópico Curriculos x Word ( Integração )
Então cara, pelo que eu vi, seu fonte aparentemente está correto.

O erro no .DOT eu não sei te dizer o que pode ser pois nunca trabalhei com isso.

Se ele ainda está dando erro na execução, vai debugando ele e verifica o que ele está fazendo na linha em que o erro é apresentado.

Por favor Acessar ou Registrar para participar da conversa.

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