*lcXLS = Getfile('XLSx')
lcXLS =[C:\xls\Daily.xlsx]
Set Textmerge To Memvar myVar Noshow
Set Textmerge On
\DEFINE CLASS oleExcelObject as OLEControl
\ OleClass ="Excel.Sheet" && Server name
\ OleTypeAllowed = 0 && Linked
\ DocumentFile = "<<m.lcXLS>>" && This file should exist
\ENDDEFINE
\DEFINE CLASS cmdMyCmdBtn AS CommandButton
\ Caption = '\<Quit'
\ Cancel = .T.
\ Left = 125
\ Top = 520
\ Height = 25
\ visible = .t.
\ PROCEDURE Click
\ this.visible=.f.
\ #INCLUDE gpImage.h
\ IF Not "gpImage" $ SET("Procedure")
\ SET PROCEDURE TO gpImage ADDITIVE
\ ENDIF
\ gdip = CREATEOBJECT("gpInit")
\ img = CREATEOBJECT("gpImage")
\ img.Capture(Thisform.HWnd)
\ LOCAL lnTitleHeight, lnLeftBorder, lnTopBorder
\ lnTitleHeight = SYSMETRIC(9)
\ lnLeftBorder = SYSMETRIC(3)
\ lnTopBorder = SYSMETRIC(4)
\ Img.Crop(lnLeftBorder, lnTitleHeight + lnTopBorder, ;
\ Img.ImageWidth - (lnLeftBorder * 2), ;
\ Img.ImageHeight - (lnTitleHeight + (lnTopBorder * 2)))
\ Img.SaveasBMP("Captured_Clean")
\ Img = NULL
\ Gdip = NULL
\ENDDEFINE
Set Textmerge To
Set Textmerge Off
lcTempClass = Sys(2015)+'.prg'
Strtofile(myVar, lcTempClass)
Compile (lcTempClass)
Public oForm
oForm = Createobject("Form")
With oForm
.Height = 550
.Width = 360
.Newobject("ExcelObject","oleExcelObject",lcTempClass) && Add OLE object
With .ExcelObject
.Left = 5
.Top = 5
.Width = .Parent.Width - 10
.Height = .Parent.Height - 10
.Visible = .T.
Endwith
.Newobject("commandbutton","cmdMyCmdBtn",lcTempClass) && Add OLE object
Endwith
oForm.Show
Read Events
Clear Class 'oleExcelObject'
Erase (Juststem(m.lcTempClass)+'.*')]