'Nome       : XlsCom_Pgm.inc
'Tipo       : SQL
'Data       : 2006/10/16
'Versao     : 1.0
'Descricao  : Funcoes XLS a incluir em listagens

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2006/??/?? --------------------------------------------------
'Versao base


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------------->'Comentario (58)
'---------------------------------------------------->'Comentario (55)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)


'=============================================================================
' XLS - Funcoes comuns
'=============================================================================
'Definir as variaveis:
'  xlsOpcNfi$                          - nome do ficheiro a gerar
'  xlsOpcWks$                          - worksheet
'------------------------------------->'Comentario (40)


'-----------------------------------------------------------------------------
' DIV - Diveros
'-----------------------------------------------------------------------------
Sub XlsComEmp_Ide 'identificar empresa
empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTip$ = MemTxt$(2)                               'tipo da listagem
'lstDt$  = FrmDt$("", Sig_DtHoje)                   'data para listagem
lstDt$  = FrmDt$("EXT", Sig_DtHoje)                'data para listagem

res = XlsIdeLst("Emp_Num", empNum$)                'numero da empresa
res = XlsIdeLst("Emp_Nome", empNom$)               'nome da empresa

res = XlsIdeLst("Lst_Tipo", lstTip$)               'tipo da listagem
res = XlsIdeLst("Lst_Data", lstDt$)                'data
end sub


'-----------------------------------------------------------------------------
' DOC - Documento
'-----------------------------------------------------------------------------
Sub XlsComDoc_IniZer 'inicializar documento limpo
dfi$       = FicEmp$("EMP","Ext","dExcel",cmo$)    'directorio de documentos EXCEL
nfi$       = XlsOpcNfi$                            'nome do ficheiro
cmo$       = SigCmoCur$("MIX")                     'modulo corrente
xlsUsaDoc$ = FicTmp$(dfi$, nfi$)                   'ficheiro para documento
res        = DirCri("D", dfi$)                     'criar directorio para documento

xlsMatNom$ = ""                                    'nome do ficheiro matriz
xlsMat$    = ""                                    'endereco do ficheiro matriz

res = XlsPrp(0)                                    'preparar EXCEL
res = XlsDocCri("")                                'criar documento

if xlsOpcWks$ <> "" then                           'activar woorksheet ?
    res = XlsWks(xlsOpcWks$)                       'activar worksheet
end if

call XlsComLin_Ini                                 'inicializar linhas
end sub


Sub XlsComDoc_IniMat 'inicializar documento por matriz
xlsUsaDfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)    'directorio de documentos EXCEL
nfi$       = XlsOpcNfi$                            'nome do ficheiro
cmo$       = SigCmoCur$("MIX")                     'modulo corrente
xlsUsaDoc$ = FicTmp$(xlsUsaDfi$, nfi$)             'ficheiro para documento
res        = DirCri("D", xlsUsaDfi$)               'criar directorio para documento

xlsMatNom$ = DocOpc$("DocMat")                     'nome do ficheiro matriz
xlsMat$    = DocOpc$("DocMat+SBT")                 'endereco do ficheiro matriz

res = FicCop(xlsMat$, xlsUsaDoc$)                  'criar ficheiro (copia de matriz)
res = XlsPrp(0)                                    'preparar EXCEL
res = XlsDocLer(xlsUsaDoc$)                        'ler ficheiro

if xlsOpcWks$ <> "" then                           'activar woorksheet ?
    res = XlsWks(xlsOpcWks$)                       'activar worksheet
end if

call XlsComEmp_Ide                                 'identificar empresa
call XlsComLin_Ini                                 'inicializar linhas
end sub


Sub XlsComDoc_IniPvt 'inicializar documento para pivot table
dfi$       = FicEmp$("EMP","Ext","dExcel",cmo$)    'directorio de documentos EXCEL
nfi$       = XlsOpcNfi$                            'nome do ficheiro
cmo$       = SigCmoCur$("MIX")                     'modulo corrente
xlsUsaDoc$ = FicTmp$(dfi$, nfi$)                   'ficheiro para documento
res        = DirCri("D", dfi$)                     'criar directorio para documento

xlsMatNom$ = ""                                    'nome do ficheiro matriz
xlsMat$    = ""                                    'endereco do ficheiro matriz

res = XlsPrp(0)                                    'preparar EXCEL
res = XlsDocCri("")                                'criar documento

linBav = 0                                         'linha da posicao base
xlsLba = linBav                                    'linha base
xlsLin = linBav + 1                                'contador de linhas usadas
end sub


Sub XlsComDoc_Fim 'terminar documento
if XlsMat$ <>"" then                               'usa matriz ?
   call XlsComLin_FimEli                           'eliminar linhas finais
end if

'res = XlsWks(1)                                    'activar worksheet

res = XlsDocDir$("A", xlsUsaDfi$)                  'activar directorio
res = XlsDocGrv(xlsUsaDoc$)                        'gravar ficheiro

'res = XlsPrt(1)                                    'listar worksheet
'res = XlsVer(0)                                    'mostrar EXCEL - normal
res = XlsVer(1)                                    'mostrar EXCEL - maximizado
res = XlsLib(0)                                    'libertar EXCEL
end sub


Sub XlsComDoc_FimPvt 'terminar documento - pivot table
'res = XlsWks(1)                                    'activar worksheet

res = XlsDocDir$("A", XlsUsaDfi$)                  'activar directorio
res = XlsDocGrv(XlsUsaDoc$)                        'gravar ficheiro

'res = XlsVer(0)                                    'mostrar EXCEL - normal
res = XlsVer(1)                                    'mostrar EXCEL - maximizado
res = XlsLib(0)                                    'libertar EXCEL
end sub


'-----------------------------------------------------------------------------
' LIN - Linha
'-----------------------------------------------------------------------------
Sub XlsComLin_Ini 'inicializar linhas
res = XlsIdePsq("PO_BAS")                          'pesquisar posicao base
linBav = XlsIdePsqRes("L")                         'linha da posicao base

xlsLba = linBav                                    'linha base
xlsLin = linBav + 1                                'contador de linhas usadas
end sub


Sub XlsComLin_Fim 'fim de linhas
res = XlsIdePsq("PO_FIM")                          'pesquisar posicao final
linFim = XlsIdePsqRes("L")                         'linha da posicao final
end sub


Sub XlsComLin_FimEli 'eliminar linhas finais
res = XlsLinEli(xlsLin, 1)                         'eliminar linha - ultima
res = XlsLinEli(xlsLba, 1)                         'eliminar linha - primeira
end sub


Sub XlsComLin_IncRep 'incrementar linha + repor formato normal
'msgbox "", "INC"

call XlsComLin_Inc                                 'incrementar linha
call XlsComLin_DesBI                               'desctivar linha em BOLD+ITALICO
end sub


Sub XlsComLin_Inc 'incrementar linha
xlsLsa = xlsLin                                    'linha de saida
liUsa  = xlsLsa                                    'linha a usar
res = XlsLinIns(xlsLin, 1)                         'juntar linha

'seguinte
xlsLin = xlsLin + 1                                'contar linha

'msgbox "", "LIN INC "+ xlsLin + " " + xlsLsa
end sub


Sub XlsComLin_ActB 'activar linha em BOLD
zon$= XlsZonNum$("L", liUsa)                       'zona da linha
res = XlsFon(zon$, ",,B+")                         'activar fonte bold
end sub


Sub XlsComLin_DesB 'desctivar linha em BOLD
zon$= XlsZonNum$("L", liUsa)                       'zona da linha
res = XlsFon(zon$, ",,B-")                         'desactivar fonte bold
end sub


Sub XlsComLin_ActBI 'activar linha em BOLD+ITALICO
zon$= XlsZonNum$("L", liUsa)                       'zona da linha
res = XlsFon(zon$, ",,B+I+")                       'activar fonte bold, italico
end sub


Sub XlsComLin_DesBI 'desctivar linha em BOLD+ITALICO
zon$= XlsZonNum$("L", liUsa)                       'zona da linha
res = XlsFon(zon$, ",,B-I-")                       'desactivar fonte bold, italico
end sub

##

