select crsExcel

*--------------------------------------------------
oExcel = Createobject("Excel.Application")
oExcel.WORKBOOKS.Add
oExcel.DisplayAlerts= .F.
oExcel.Visible = .T.
*---------------------------------------------------------------------------------
* ZOOM DE LOS DATOS
oExcel.ActiveWindow.Zoom = 75

xlSheet = oExcel.ACTIVESHEET

* Ancho de las Columnas
xlSheet.Columns("A:A").ColumnWidth = 17
xlSheet.Columns("B:B").ColumnWidth = 70
xlSheet.Columns("C:C").ColumnWidth = 15

oExcel.Cells(2,1).Value = Alltrim(gcTitulo1)
oExcel.Cells(3,1).Value = Alltrim(gcTitulo2)
oExcel.Cells(4,1).Value = Alltrim(gcTitulo3)
oExcel.Cells(5,1).Value = Alltrim(gcTitulo4)
oExcel.Cells(6,1).Value = Alltrim(gcTitulo5)

oExcel.Cells(8,1).Value = Alltrim("Client / Cliente:")
oExcel.Cells(9,1).Value = Alltrim("Address / Dirección:")
oExcel.Cells(10,1).Value = Alltrim("Phone / Teléfono:")
oExcel.Cells(11,1).Value = Alltrim("Fax:")

Select crsExcel
Goto Top
oExcel.Cells(8,2).Value = Alltrim(crsExcel.nombre)
oExcel.Cells(9,2).Value = Alltrim(crsExcel.direccion)
oExcel.Cells(10,2).Value = Alltrim(crsExcel.telefono)
oExcel.Cells(11,2).Value = Alltrim(crsExcel.fax)

oExcel.Cells(1,4).Value = Alltrim("No "+Alltrim(Str(lnNoAviso)))

** TIPO DE LETRAS
xlSheet.Range("A7:A10").Font.Size = 9

* COLOCAR LOS DATOS DE LA EMPRESA
For i=2 To 6
	lcRango = "A"+Alltrim(Str(i))+":D"+Alltrim(Str(i))
	xlSheet.Range(lcRango).Merge

	With xlSheet.Range(lcRango)
		.HorizontalAlignment = -4108
		.VERTICALALIGNMENT = -4108
		.Font.BOLD = .T.
	Endwith
Next i
*--------------------------------------------------------------
* Titulos
lnLinea = 15

	oExcel.Cells(lnLinea, 1).Value = "Cantidad"
	oExcel.Cells(lnLinea, 2).Value = "Descripción"
	oExcel.Cells(lnLinea, 3).Value = "Costo"
	oExcel.Cells(lnLinea, 4).Value = "Total"

lnLinea = 16
Select crsExcel
Goto Top
Scan
	oExcel.Cells(lnLinea, 1).Value = crsExcel.cant
	oExcel.Cells(lnLinea, 2).Value = Alltrim(crsExcel.descripcion)
	oExcel.Cells(lnLinea, 3).Value = crsExcel.precio
	oExcel.Cells(lnLinea, 4).Value = crsExcel.cant*crsExcel.precio

	lcRows = "C"+Alltrim(Str(lnLinea))+":D"+Alltrim(Str(lnLinea))
	xlSheet.Range(lcRows).NUMBERFORMAT = "#,##0.00"

	lnLinea = lnLinea + 1
ENDSCAN

*!*	---------------------------------------------------------------------
*!*	 TOTALIZAR EL DOCUMENTO
*!*	---------------------------------------------------------------------  

&& Sub Total
oExcel.Cells(lnLinea, 3).Value = "Sub Total"
Calculate Sum(crsExcel.subtotal) To oExcel.Cells(lnLinea, 4).Value
lcCelda = "D"+Alltrim(Str(lnLinea))+":D"+Alltrim(Str(lnLinea))
xlSheet.Range(lcCelda).NUMBERFORMAT = "#,##0.00"

&& Descuento
oExcel.Cells(lnLinea+1, 3).Value = "Descuento"
Calculate Sum(crsExcel.descuento) To oExcel.Cells(lnLinea+1, 4).Value
lcCelda = "D"+Alltrim(Str(lnLinea+2))+":D"+Alltrim(Str(lnLinea+1))
xlSheet.Range(lcCelda).NUMBERFORMAT = "#,##0.00"

&& Iva
oExcel.Cells(lnLinea+2, 3).Value = "Impuesto"
Calculate Sum(crsExcel.iva) To oExcel.Cells(lnLinea+2, 4).Value
lcCelda = "D"+Alltrim(Str(lnLinea+1))+":D"+Alltrim(Str(lnLinea+2))
xlSheet.Range(lcCelda).NUMBERFORMAT = "#,##0.00"

&& Total
oExcel.Cells(lnLinea+3, 3).Value = "Total"
oExcel.Cells(lnLinea+3, 4).Value =  oExcel.Cells(lnLinea, 4).Value-oExcel.Cells(lnLinea+1, 4).Value+oExcel.Cells(lnLinea+2, 4).Value
lcCelda = "D"+Alltrim(Str(lnLinea+3))+":D"+Alltrim(Str(lnLinea+3))
xlSheet.Range(lcCelda).NUMBERFORMAT = "#,##0.00"
*-----------------------------------------------------------------------------------------------------------------------------------
* INSERTAR EL LOGO DE LA EMPRESA
Local lcFile
lcFile = ver_logo('MiLogo.jpg')

If File(lcFile)
	With oExcel
		With .ActiveWorkBook.ActiveSheet
			Local loRange
			loRange = .Range('A1:A1')

			.Shapes.AddPicture( lcFile, .T., .T., ;
				loRange.Left+2, loRange.Top+2, 100, 100)
		Endwith
	Endwith

Endif

Set Default To ("&MiRuta")
&&=======================================================================================
Set ENGINEBEHAVIOR 70
Set TablePrompt On
Set Dohistory Off
Set Console Off
Set Echo Off
Set Safety Off
Set Deleted On
Set Notify On
Set Resource Off
Set Multilocks On
Set Exact On
Set Exclusive Off
Set Confirm On
Set Date Dmy
Set Century On
Set Escape Off
Set Scoreboard Off
Set Refresh To 0.5
Set Border To Single
Set Brstatus Off
Set Cursor On
Set Century On
Set Confirm Off
Set Date To brit
Set Deleted Off
Set Device To Screen
Set Decimals To 2
Set Talk Off
Set Exclusive Off
Set Multilocks On
Set Refresh To 0.5
Set Reprocess To Automatic
Set Deleted On
Set Century On
Set Exclusive Off
Set Date Dmy
Set Status Bar Off
Set Decimals To 2
Set Exact Off
Set Echo Off
Set Escape Off
Set Status Bar Off
Set Printer Off
Set Sysmenu To
Set Sysmenu Automatic

Use In Select('crsExcel')
RETURN

*---------------------------------------------------------------
* CONFIGURAR LA PAGINA
With xlSheet.PAGESETUP
	.PRINTAREA = "$A:$F"
	.PRINTTITLEROWS = "$1:$5"
	.PRINTTITLECOLUMNS = ""
	.LEFTHEADER = ""
	.CENTERHEADER = ""
	.RIGHTHEADER = ""
	.LEFTFOOTER = "&D &T"
	.CENTERFOOTER = ""
	.RIGHTFOOTER = "&P"
	.PRINTHEADINGS = .F.
	.PRINTGRIDlnLineaES = .F.
	.PRINTCOMMENTS = -4142
	.CENTERHORIZONTALLY = .T.
	.CENTERVERTICALLY = .F.
	.Orientation = 2
	.DRAFT = .F.
	.FIRSTPAGENUMBER = -4105
	.Order = 1
	.BLACKANDWHITE = .F.
	.Zoom = 70
Endwith

*---------------------------------------------------------------
** TIPO DE LETRAS
With xlSheet.Range("A1:F1000").Font
	.Name = "Century Gothic"
	.Size = 9
Endwith

** Bordes
#Define xlDouble -4119
#DEFINE xlHAlignCenter -4108
#DEFINE xlVAlignCenter -4108
#DEFINE xlEdgeBottom 9
#DEFINE xlEdgeTop 10
#DEFINE xlEdgeRight 8
#DEFINE xlEdgeLeft 7
#DEFINE xlDouble -4119
#DEFINE xlMedium -4138

*Cuadro contenedor
	xlSheet.Range("A5:F115").BorderS(xlEdgeLeft).lnLineaeStyle = xlDouble
	xlSheet.Range("A5:F115").BorderS(xlEdgeTop).lnLineaeStyle = xlDouble
	xlSheet.Range("A5:F115").BorderS(xlEdgeBottom).lnLineaeStyle = xlDouble
	xlSheet.Range("A5:F115").BorderS(xlEdgeRight).lnLineaeStyle = xlDouble

*Cuadro 2
	xlSheet.Range("B6:F115").BorderS(xlEdgeLeft).lnLineaeStyle = xlDouble
	xlSheet.Range("B6:F115").BorderS(xlEdgeTop).lnLineaeStyle = xlDouble
	xlSheet.Range("B6:F115").BorderS(xlEdgeBottom).lnLineaeStyle = xlDouble
	xlSheet.Range("B6:F115").BorderS(xlEdgeRight).lnLineaeStyle = xlDouble

*Cuadro 3
	xlSheet.Range("A6:F6").BorderS(xlEdgeLeft).lnLineaeStyle = xlDouble
	xlSheet.Range("A6:F6").BorderS(xlEdgeTop).lnLineaeStyle = xlDouble
	xlSheet.Range("A6:F6").BorderS(xlEdgeBottom).lnLineaeStyle = xlDouble
	xlSheet.Range("A6:F6").BorderS(xlEdgeRight).lnLineaeStyle = xlDouble

*Cuadro 4
	xlSheet.Range("C6:C115").BorderS(xlEdgeLeft).lnLineaeStyle = xlDouble
	xlSheet.Range("C6:C115").BorderS(xlEdgeTop).lnLineaeStyle = xlDouble
	xlSheet.Range("C6:C115").BorderS(xlEdgeBottom).lnLineaeStyle = xlDouble
	xlSheet.Range("C6:C115").BorderS(xlEdgeRight).lnLineaeStyle = xlDouble
*Cuadro 5
	xlSheet.Range("E6:D115").BorderS(xlEdgeLeft).lnLineaeStyle = xlDouble
	xlSheet.Range("E6:D115").BorderS(xlEdgeTop).lnLineaeStyle = xlDouble
	xlSheet.Range("E6:D115").BorderS(xlEdgeBottom).lnLineaeStyle = xlDouble
	xlSheet.Range("E6:D115").BorderS(xlEdgeRight).lnLineaeStyle = xlDouble



* filas negrillas
xlSheet.Range("A7:C7").Font.bold = .T.
xlSheet.Range("A9:C9").Font.bold = .T.
xlSheet.Range("A22:C22").Font.bold = .T.
xlSheet.Range("A35:C35").Font.bold = .T.
xlSheet.Range("A48:C48").Font.bold = .T.
xlSheet.Range("A61:C61").Font.bold = .T.
xlSheet.Range("A74:C74").Font.bold = .T.
xlSheet.Range("A87:C87").Font.bold = .T.
xlSheet.Range("A100:C100").Font.bold = .T.
xlSheet.Range("A114:C114").Font.bold = .T.
xlSheet.Range("A115:C115").Font.bold = .T.

*!*	Alto de lnLineaeas
xlSheet.Rows("7:7").RowHeight = 27
xlSheet.Rows("9:9").RowHeight = 27
xlSheet.Rows("22:22").RowHeight = 27
xlSheet.Rows("35:35").RowHeight = 27
xlSheet.Rows("48:48").RowHeight = 27
xlSheet.Rows("61:61").RowHeight = 27
xlSheet.Rows("74:74").RowHeight = 27
xlSheet.Rows("87:87").RowHeight = 27
xlSheet.Rows("100:100").RowHeight = 27
xlSheet.Rows("114:114").RowHeight = 27
xlSheet.Rows("115:115").RowHeight = 27

*!*	Ancho de Columnas
xlSheet.Columns("A:A").ColumnWidth = 57
xlSheet.Columns("B:B").ColumnWidth = 21.71
xlSheet.Columns("C:C").ColumnWidth = 21.71

*!*	Justificar
xlSheet.Cells(7,1).HorizontalAlignment = -4130
xlSheet.Cells(9,1).HorizontalAlignment = -4130
xlSheet.Cells(22,1).HorizontalAlignment = -4130
xlSheet.Cells(35,1).HorizontalAlignment = -4130
xlSheet.Cells(48,1).HorizontalAlignment = -4130
xlSheet.Cells(61,1).HorizontalAlignment = -4130
xlSheet.Cells(74,1).HorizontalAlignment = -4130
xlSheet.Cells(87,1).HorizontalAlignment = -4130
xlSheet.Cells(100,1).HorizontalAlignment = -4130
xlSheet.Cells(114,1).HorizontalAlignment = -4130
xlSheet.Cells(115,1).HorizontalAlignment = -4130

lImpresora = .f.
If lImpresora
	#Define xlPortrait 1
	#Define autoIn2Pts 72

	xlSheet.PageSetup.FitToPagesTall = 1
	xlSheet.PageSetup.FitToPagesWide = 1
	xlSheet.PageSetup.TopMargin = .5 * autoIn2Pts

	xlSheet.PageSetup.Orientation = xlPortrait
	xlSheet.Printout()
Else
	oExcel.Visible = .T.
Endif