Abrir archivo de Excel
Como abro una hoja de Excel en VFP 6?. Probé con worksbooks.open pero no reconoce el comando aunque le indique el nombre del archivo de Excel que necesito abrir. Gracias.
este aparece en el boletin 0109 en la seccion de preguntas de la semana y el merito es de Foxstock:
Con la siguiente rutina pudes expandirte a explorar el gran mundo de automatizaciones que podemos acceder con unas cuantas líneas.
ON ERROR loExcel=.NULL. && Si no hay ninguna instancia de excel
loExcel=GETOBJECT(,"Excel.application") && Si hay alguna instancia de excel corriendo en estos momentos
IF ISNULL(loExcel) && Si no hay ninguna instancia de excel, creamos una
loExcel=CREATEOBJECT("Excel.application")
ENDIF
ON ERROR &lcAntError
WITH loExcel
.Workbooks.Add && Adicionamos un libro
.DisplayAlerts= .F.
lnSheets = .Sheets.Count && Un libro se crea con 3 hojas por default
FOR lnContador = 1 TO lnSheets - 1 && Borramos 2 hojas y dejamos 1
.Sheets(1).Delete
ENDFOR
.Sheets(1).Select && Seleccionamos la hoja que hemos dejado
.Sheets(1).Name="Nombre de la hoja 1" && Le asignamos un nombre
.Cells(1,1)="Valor de la Col1,Cel1" && Y le asignamos un valor a A1
ENDWITH
FoxStok
Con la siguiente rutina pudes expandirte a explorar el gran mundo de automatizaciones que podemos acceder con unas cuantas líneas.
ON ERROR loExcel=.NULL. && Si no hay ninguna instancia de excel
loExcel=GETOBJECT(,"Excel.application") && Si hay alguna instancia de excel corriendo en estos momentos
IF ISNULL(loExcel) && Si no hay ninguna instancia de excel, creamos una
loExcel=CREATEOBJECT("Excel.application")
ENDIF
ON ERROR &lcAntError
WITH loExcel
.Workbooks.Add && Adicionamos un libro
.DisplayAlerts= .F.
lnSheets = .Sheets.Count && Un libro se crea con 3 hojas por default
FOR lnContador = 1 TO lnSheets - 1 && Borramos 2 hojas y dejamos 1
.Sheets(1).Delete
ENDFOR
.Sheets(1).Select && Seleccionamos la hoja que hemos dejado
.Sheets(1).Name="Nombre de la hoja 1" && Le asignamos un nombre
.Cells(1,1)="Valor de la Col1,Cel1" && Y le asignamos un valor a A1
ENDWITH
FoxStok