05 Nov 2019 09:09
ARQRTF := "C:\TESTE\PADRAO.RTF"
TESTE := "C:\TESTE\TABELA.DBF"
CAMPOS := {{"DADOS","C",500,00}}
c_Contrato := ""
DBCREATE( TESTE, CAMPOS )
USE ( TESTE ) ALIASs TESTE NEW EXCLUSIVE
SELECT("TESTE")
APPEND FROM (ARQRTF) SDF
TESTE->( DBGOTOP() )
DO WHILE !TESTE->( EOF() )
*aqui vc vai mudando suas variáveis de acordo com sua necessidade,
IF "CLINOME" $ ARQDBF->DADOS
CSTR := STRTRAN( ARQDBF->DADOS, "CLINOME", c_NomCli )
ELSEIF "CLINFE" $ ARQDBF->DADOS
CSTR := STRTRAN( ARQDBF->DADOS, "CLINFE", c_NumNfe )
ELSEIF "CLIEMISSAO" $ ARQDBF->DADOS
CSTR := STRTRAN( ARQDBF->DADOS, "CLIEMISSAO", c_DatEmi )
...
ELSE
CSTR := ARQDBF->DADOS
ENDIF
c_Contrato += ALLTRIM( CSTR ) + CRLF
TESTE->( DBSKIP() )
ENDDO
MEMOWRIT( "c:\test\novortf.rtf", c_Contrato )
*depois é so mandar abrir e imprimir no word
IMPRIME_WORD( "c:\test\novortf.rtf")
*---------------------------------------------------------------------------------
procedure IMPRIME_WORD( CARQ )
Local oWord
oWord:=TOleAuto():New( "Word.Application" )
oWord:Documents:Open( CARQ )
oWord:WindowState := 1
oWord:Visible := .t.
oWord:PrintOut() //PARA IMPRIMIR DIRETO
Return nil
09 Nov 2019 02:06
10 Nov 2019 09:10
#define CRLF chr(13)+chr(10)
11 Nov 2019 08:53
19 Nov 2019 15:37
19 Nov 2019 17:30
hb_eol()
27 Mar 2020 20:49
29 Mar 2020 00:52
21 Abr 2020 17:26
18 Set 2020 10:36
18 Set 2020 14:36
Procedure fTitulo_Alinha(nAlinha, oWord, cTitulo)
oWord:Selection:Font:Bold:= .T. // negrito
oWord:Selection:Paragraphs:Alignment:= nAlinha // 0 = alinhado a esquerda e 1 alinhado ao centro
oWord:Selection:Font:Size:= 12 // tamanho
oWord:Selection:TypeText(hb_AnsiToOem(cTitulo) + hb_OsNewLine() + hb_OsNewLine())
oWord:Selection:Font:Bold:= .F. // desabilita negrito
oWord:Selection:Font:Size:= 11 // tamanho
oWord:Selection:Paragraphs:Alignment:= 3 // alinhamento justificado
Return (Nil)
*** Cabeçalho
oWord:ActiveDocument:ActiveWindow:Activepane:View:SeekView = 9
oWord:Selection:Font:Name = "Times New Roman" // fonte
oWord:Selection:Font:Size = 14 // tamanho
oWord:Selection:Font:Bold = .T. // negrito
oWord:Selection:Paragraphs:Alignment = 1 // alinhado ao centro
oTable := oTexto:Tables:Add(oTexto:Range, 1, 2) // Cria uma célula com 2 colunas
oTable:Columns:Item(1):Width = 50 // Largura da primeira célula
oTable:Columns:Item(2):Width = If(nOrientacao == 0, 450, 700) // Largura da segunda célula
oTable:Cell(1,1):Range:ParagraphFormat:Alignment = 1 // alinhado ao centro
If Hb_FileExists(DISKNAME() + ':' + PATHIMAGENS + [LOGO.BMP])
oTable:Cell(1,1):Range:InlineShapes:AddPicture(DISKNAME() + ':' + PATHIMAGENS + [LOGO.BMP]) // Insere a imagem na primeira célula
Endif
oTable:Cell(1,2):Range:ParagraphFormat:Alignment = 1 // alinhado ao centro
oTable:Cell(1,2):Range:Text = AllTrim(hb_AnsiToOem(cEmpresa)) + hb_OsNewLine() + ; // 1º texto
AllTrim(hb_AnsiToOem(cEndereco_p)) // 2º texto
13 Nov 2020 10:56
22 Abr 2023 14:20
23 Abr 2023 10:04
23 Abr 2023 12:21
// C:\FWH..\SAMPLES\WORDCENT.PRG
#Include "FiveWin.ch"
FUNCTION Main()
LOCAL oWord
// Convert 2.5 centimeters to points
LOCAL nPts
oWord := WinWordObj():New()
nPts := oWord:CentimetersToPoints( 2.5 )
// Display the result
MsgInfo("2.5 centimeters = " + Str(nPts) + " points")
// Quit Word
oWord:Quit()
RETURN NIL
/*
// Create a Word application object
// LOCAL oWord := WinWordObj():New() // HARBOUR FUNCIONA.
*/
// FIN / END