[AccessD] Losing 3ms on date insert?
Bill Benson
bensonforums at gmail.com
Tue Nov 27 04:09:59 CST 2018
Stuart, where do you use that code?
On Tue, Nov 27, 2018 at 12:48 AM Stuart McLachlan <stuart at lexacorp.com.pg>
wrote:
> In answer to your question: Yes.
>
> But I don't see how your link relates to that. OLE is a different beasst
> to passing data to and
> from a spreadsheet.
>
> Here's an example of controlling a spreadsheet from another application
> (which could easily
> be a service).
>
>
> #COMPILER PBWIN 10
> #COMPILE EXE
> #DIM ALL
> #INCLUDE ONCE "Excel.inc"
>
>
> '------------------------------------------------------------------------------
> ' Main application entry point...
> '
> FUNCTION PBMAIN
> DIM oExcelApp AS Excel_Application
> DIM oExcelWorkbook AS Excel_Workbook
> DIM oExcelWorkSheet AS Excel_WorkSheet
>
> DIM vBool AS VARIANT
> DIM vText1 AS VARIANT
> DIM vText2 AS VARIANT
> DIM vFile AS VARIANT
> DIM vFileFmt AS VARIANT
> DIM oVnt AS VARIANT
> DIM nVnt AS VARIANT
> DIM vX AS VARIANT
> DIM vY AS VARIANT
> DIM x AS LONG
> DIM y AS LONG
> DIM ws AS WSTRING
>
> ' Open an instance of EXCEL
> oExcelApp = ANYCOM $PROGID_Excel_Application
>
> ' Could EXCEL be opened? If not, terminate this app
> IF ISFALSE ISOBJECT(oExcelApp) OR ERR THEN
> MSGBOX "Excel could not be opened. Please check that Excel and VBA are
> installed."
> EXIT FUNCTION
> END IF
>
> ' Make MSEXCEL visible
> vBool = 1
> OBJECT LET oExcelApp.Visible = vBool
>
> ' Create a new workbook in EXCEL
> OBJECT CALL oExcelApp.WorkBooks.Add TO oExcelWorkBook
> IF ISFALSE ISOBJECT(oExcelWorkbook) OR ERR THEN
> MSGBOX "Excel could not open a new workbook. Please check that VBA is
> installed."
> GOTO Terminate
> END IF
>
> ' Create a new worksheet in the workbook and use this
> ' worksheet reference to pump data into EXCEL
> OBJECT CALL oExcelWorkBook.WorkSheets.Add TO oExcelWorkSheet
> IF ISFALSE ISOBJECT(oExcelWorkSheet) OR ERR THEN
> MSGBOX "Excel could not open a new worksheet. Please check that VBA is
> installed."
> GOTO Terminate
> END IF
>
> FOR y = 1 TO 50
> FOR x = 1 TO 5
> vX = x
> vY = y
> ws = "Cell " & CHR$$(x + 64) & FORMAT$(y)
> vText1 = ws
> OBJECT LET oExcelWorkSheet.Cells.Item(vY, vX) = vText1
> NEXT x
>
> vX = 6
> nVnt = y + y / 10
> OBJECT LET oExcelWorkSheet.Cells.Item(vY, vX) = nVnt
>
> vX = 7
> ws = FORMAT$(RND(-1000,1000), "$#,.00")
> vText2 = ws
> OBJECT LET oExcelWorkSheet.Cells.Item(vY, vX) = vText2
> NEXT y
>
> OBJECT CALL oExcelWorksheet.PrintPreview
>
> ' Save the new XLS document to disk
> vFile = "Test.xls"$$
> OBJECT CALL oExcelWorkBook.SaveAs(vFile)
> '----------------------------------------------------------------
>
> Terminate:
> MSGBOX "Press the OK button to close Excel and exit the application"
>
> ' Close the current document and then close EXCEL completely
> OBJECT CALL oExcelApp.ActiveWindow.Close
> OBJECT CALL oExcelApp.Quit
>
> ' Release the interfaces. We could omit this since the
> ' app is about to close, but "best practice" states we
> ' should clean our house before moving out.
> SET oExcelApp = NOTHING
> SET oExcelWorkbook = NOTHING
> SET oExcelWorkSheet = NOTHING
>
> END FUNCTION
>
>
> On 26 Nov 2018 at 22:32, Jim Lawrence wrote:
>
> > Can an external service be attached to an excel spreadsheet in which
> > parameters can be pasted back and forth?
> >
> > Like:
> >
> > https://support.office.com/en-us/article/insert-an-object-in-your-exce
> > l-spreadsheet-e73867b2-2988-4116-8d85-f5769ea435ba
> > http://bit.ly/2P5iUDh
> >
> > Jim
> >
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
More information about the AccessD
mailing list