[AccessD] Losing 3ms on date insert?

Stuart McLachlan stuart at lexacorp.com.pg
Tue Nov 27 05:24:16 CST 2018


That's just a simple example of using a PowerBASIC application to control Excel.   
 

On 27 Nov 2018 at 5:09, Bill Benson wrote:

> 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
> >
> -- 
> 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