gerar arquivos em word usando harbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

gerar arquivos em word usando harbour

Mensagem por Kapiaba »

Gracias. Super many thanks. resuelto, resolved.

Código: Selecionar todos


// [url]https://forums.fivetechsupport.com/viewtopic.php?f=6&t=43084&sid=9e2195b9f98be69732a3ffa73a33b1db[/url]
// [url]https://forums.fivetechsupport.com/viewtopic.php?f=3&t=43093&sid=f314821d04e916bc11c25c4b9d2426a6[/url]

// C:\FWH..\SAMPLES\WORDCENT.PRG - Modificado by Jimmy/Natter/Rao.

#Include "FiveWin.ch"

// Harbour/xHarbour:
#xtranslate CentimetersToPoint(<n>)=>(<n>*28.35)
//#xtranslate PointToCentimeters(<n>)=>(<n>/28.35)
#xtranslate PointToCentimeters(<n>)=>(<n>*28.35)

FUNCTION Main()

   LOCAL oWord, nCms
   // Convert 2.5 centimeters to points
   LOCAL nPts

   oWord := WinWordObj()

   oWord := CreateObject("Word.Application")

   IF EMPTY( oWord )

      MsgInfo( "Microsoft Word not installied" )

      RETURN NIL

   ENDIF

   #ifdef __XHARBOUR__

      nPts := PointToCentimeters( 2.5 )        // xHarbour

   #else

      nPts := oWord:CentimetersToPoints( 2.5 ) // Harbour

   #endif

   // nCms := 2.5
   // nPts := nCms * 28.35

   // Display the result
   MsgInfo("2.5 centimeters = " + Str(nPts) + " points")

   // Quit Word
   oWord:Quit()

RETURN NIL

// FIN / END
Regards, saludos.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

gerar arquivos em word usando harbour

Mensagem por JoséQuintas »

Kapiaba escreveu:isto funciona perfeito com Harbour, com xHarbour Quebra. Mistérios... Kgada de quem? kkkkkkk
Tem resposta no fórum.
No XHarbour e suas LIBs é um carnaval, depende do que está usando.
Dependendo da LIB é CreateObject(), W32Ole(), ou outra.
E se fizer uso de duas no mesmo aplicativo, não lembro quais são, uma causa problema pra outra.
Deve estar no tópico da hbnfe.

Deveria ser atualizada diretamente no XHarbour pra não ficar diferente pra cada lib.
Mas não sei se depois de tanto tempo já não fizeram isso, e ficou faltando cada lib fazer sua atualização.

Isso e outras coisas fazem parte, ou deveriam fazer, da HBWIN.
E é dessa parte que falo que deveria ser padronizado no Harbour e XHarbour, assim todos falam a mesma língua.

Mas não.... fica uma função no fivewin, outra na minigui, outra não sei aonde... e acaba bagunçando tanto Xharbour quanto Harbour.
Todos perdem.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

gerar arquivos em word usando harbour

Mensagem por JoséQuintas »

http://pctoledo.com.br/forum/viewtopic. ... ole#p93921

Mencionam TOleAuto(), TOleAutoX(), xhb_CreateObject()
|Error TOleAutoX/65535 : TOLEAUTOX:NEW Arguments: ( [ 1] = Type: C Val: MSXML2.D|
|OMDocument.5.0 [ 2] = Type: U [ 3] = Type: O Val: { TOLEAUTOX Object }) |
| |
|Error at ...: TOLEAUTOX:NEW(96) in Module: W32OLE.PRG |
|Called from : XHB_CREATEOBJECT(27) in Module: W32OLE.PRG |
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

gerar arquivos em word usando harbour

Mensagem por Kapiaba »

Thanks Mister Quintas. Neste caso, o XHARBOUR não tem culpa nenhuma, a culpa é do Linãres, que quando modificou a WIN32OLE.PRG do xharbour para FiveWin, não escreveu igual ao do Harbour.

O problema foi resolvido.

Abs.

Regards, saludos.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

gerar arquivos em word usando harbour

Mensagem por Kapiaba »

Mister Quintas, sabeis o que pode provocar este erro no Word:

ERRO! A ENTRADA DE AUTOTEXTO NÃO FOI DEFINIDA.

Obg. abs.

Regards, saludso.
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

gerar arquivos em word usando harbour

Mensagem por malcarli »

Caro Kapiaba, conseguiu resovler este erro no Word:

ERRO! A ENTRADA DE AUTOTEXTO NÃO FOI DEFINIDA.

Testei várias opções, mas também não consegui resolver.

tentei algumas que não funcionam e até dão erros:

Código: Selecionar todos


   __auto := 'AUTOTEXT "Pagina X de Y" '
 
   oWord:Selection:Fields:Add(oWord:Selection:Range, -1, __auto, .T.)
 * oWord:Selection:Fields:Add( oWord:Selection:RANGE:AutoTextEntries("Page X of Y"))
*oWord:Selection:AutoTextEntries("Pagina X de Y"):Insert()
*erro oWord:ActiveDocument:AttachedTemplate:AutoTextEntries(__auto):Insert()
       
/*
Dim oRg As Range
Set oRg = ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage).Range
oRg.Collapse wdCollapseEnd
NormalTemplate.AutoTextEntries("Page X of Y").Insert Where:=oRg
*/
*Documents.Add 
*Selection.TypeText "Best w" 
*Selection.Range.InsertAutoText
obg

Att.

Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®
https://malc-informatica.ueniweb.com
Insta: @malcarli25
Email / Skype: marceloalcarli@gmail.com
ivanil
Usuário Nível 3
Usuário Nível 3
Mensagens: 166
Registrado em: 11 Set 2004 15:13
Localização: Florianópolis/SC

gerar arquivos em word usando harbour

Mensagem por ivanil »

Boa noite;

Se me permite uma opinião; mude a forma de lidar com isso; crie um modelo, modele a seu gosto ou especificação técnica; coloque #chaves# no modelo; esses modelos podem ser guardados soltos em pasta, zipados ou até mesmo armazenados em banco de dados, eu armazenava no SQL Server;

Na hora de usar, abra o modelo e faça a substituição das palavras #chaves#, isso será infinitamente mais rápido e com resultados melhores, já que poderá ver e ajustar o modelo sempre que necessário sem precisar mexer em código;

https://learn.microsoft.com/en-us/offic ... formatting

Grande abraço;
Responder