136 lines
6.5 KiB
Plaintext
136 lines
6.5 KiB
Plaintext
Function GemBoxSample(Void)
|
|
|
|
$insert LOGICAL
|
|
$insert REVDOTNETEQUATES
|
|
|
|
Declare function Reactor_Services
|
|
Declare subroutine Reactor_Services
|
|
Debug
|
|
* StartDate = Iconv('11/17/2017', 'D')
|
|
* EndDate = Iconv('11/21/2017', 'D')
|
|
* For ScheduleDate = StartDate to EndDate
|
|
* rv = Reactor_Services('ClearWafersProcessed', ScheduleDate)
|
|
* rv = Reactor_Services('UpdatePerformanceTrackers', ScheduleDate)
|
|
* Next ScheduleDate
|
|
*
|
|
* Return
|
|
|
|
|
|
// Start the .NET engine.
|
|
hDotNet = StartDotNet('')
|
|
Status = Get_Status(StatusCode)
|
|
|
|
// Load a .NET assembly. This creates the system object (hDotNet).
|
|
rv = Set_Property.Net(hDotNet, 'AssemblyName', 'C:\Program Files (x86)\GemBox Software\GemBox.Spreadsheet 3.9\Bin\NET3X4X\GemBox.Spreadsheet.dll')
|
|
Status = Get_Status(StatusCode)
|
|
|
|
// Create a Spreadsheet handle/class directly from the system object. This is necessary to activate the product license.
|
|
hSpreadsheetInfo = Create_Class.Net(hDotNet, 'GemBox.Spreadsheet.SpreadsheetInfo', 0)
|
|
Status = Get_Status(StatusCode)
|
|
|
|
// Set the product license.
|
|
rv = Send_Message.Net(hSpreadsheetInfo, 'SetLicense', 'EUZ6-PWUP-BDWC-VA5A')
|
|
Status = Get_Status(StatusCode)
|
|
|
|
// Create an Excel file handle/class directly from the system object. This will be the primary object used.
|
|
hExcelFileFactory = Create_Class.Net(hDotNet, 'GemBox.Spreadsheet.ExcelFile', 0)
|
|
Status = Get_Status(StatusCode)
|
|
|
|
* hLoadOptions = Create_Class.Net(hDotNet, 'GemBox.Spreadsheet.LoadOptions', 0)
|
|
* Status = Get_Status(StatusCode)
|
|
* hXlsxDefault = Get_Property.Net(hLoadOptions, 'XlsxDefault', 1)
|
|
* Status = Get_Status(StatusCode)
|
|
|
|
// Load a worksheet from a specific path. This does not generate a handle/class. It just loads into the ExcelFile object the content of an actual Excel file.
|
|
* rv = Send_Message.Net(hExcelFile, 'Load', 'E:\apps\Scheduler\Daily (Template).xlsx' : @FM : hXlsxDefault, 'System.String' : @FM : 'GemBox.Spreadsheet.LoadOptions')
|
|
* hExcelFile = Send_Message.Net(hExcelFileFactory, 'Load', 'E:\apps\Scheduler\Daily (Template).xlsx' : @FM : hXlsxDefault, 'System.String' : @FM : 'GemBox.Spreadsheet.LoadOptions', 1)
|
|
hExcelFile = Send_Message.Net(hExcelFileFactory, 'Load', 'E:\apps\Scheduler\Daily (Template).xlsx', 'System.String', 1)
|
|
Status = Get_Status(StatusCode)
|
|
* Debug
|
|
// Create a Worksheet collection handle/class from the Worksheets property of the ExcelFile class.
|
|
hWorksheets = Get_Property.Net(hExcelFile, 'Worksheets', 1)
|
|
Status = Get_Status(StatusCode)
|
|
* rv = Send_Message.Net(hWorksheets, 'Add', 'MySheet')
|
|
* Status = Get_Status(StatusCode)
|
|
WorkSheetCount = Get_Property.Net(hWorksheets, 'Count')
|
|
Status = Get_Status(StatusCode)
|
|
Debug
|
|
hActiveWorksheet = Get_Property.Net(hWorksheets, 'Item[2]', 1)
|
|
Status = Get_Status(StatusCode)
|
|
hRows = Get_Property.Net(hActiveWorksheet, 'Rows', 1)
|
|
Status = Get_Status(StatusCode)
|
|
RowCount = Get_Property.Net(hRows, 'Count')
|
|
Status = Get_Status(StatusCode)
|
|
hColumns = Get_Property.Net(hActiveWorksheet, 'Columns', 1)
|
|
Status = Get_Status(StatusCode)
|
|
ColumnCount = Get_Property.Net(hColumns, 'Count')
|
|
Status = Get_Status(StatusCode)
|
|
hActiveRow = Get_Property.Net(hRows, 'Item[1]', 1)
|
|
Status = Get_Status(StatusCode)
|
|
hCells = Get_Property.Net(hActiveRow, 'Cells', 1)
|
|
Status = Get_Status(StatusCode)
|
|
hActiveCell = Get_Property.Net(hCells, 'Item[1]', 1)
|
|
Status = Get_Status(StatusCode)
|
|
LastColumnIndex = Get_Property.Net(hCells, 'LastColumnIndex')
|
|
Status = Get_Status(StatusCode)
|
|
ColumnWidth = Get_Property.Net(hCells, 'Width')
|
|
Status = Get_Status(StatusCode)
|
|
CellValue = Get_Property.Net(hActiveCell, 'Value')
|
|
Status = Get_Status(StatusCode)
|
|
rv = Set_Property.Net(hActiveCell, 'Value', 25)
|
|
Status = Get_Status(StatusCode)
|
|
* hActiveWorksheet = Get_Property.Net(hWorksheets, 'ActiveWorksheet', 1)
|
|
* Status = Get_Status(StatusCode)
|
|
* WorksheetName = Get_Property.Net(hActiveWorksheet, 'Name')
|
|
WorksheetName = Get_Property.Net(hActiveWorksheet, 'Name')
|
|
Status = Get_Status(StatusCode)
|
|
* Methods = Get_Info.Net(hActiveWorksheet, REVDOTNET_INFO_METHODS)
|
|
* Status = Get_Status(StatusCode)
|
|
* Properties = Get_Info.Net(hActiveWorksheet, REVDOTNET_INFO_PROPERTIES)
|
|
* Status = Get_Status(StatusCode)
|
|
|
|
|
|
* Debug
|
|
rv = Send_Message.Net(hWorksheets, 'Add', 'Hello World')
|
|
Status = Get_Status(StatusCode)
|
|
rv = Send_Message.Net(hExcelFile, 'Save', 'E:\apps\Scheduler\Hello World.xlsx')
|
|
Status = Get_Status(StatusCode)
|
|
|
|
// Free all
|
|
Free_Class.Net()
|
|
|
|
* Dim ef As ExcelFile = New ExcelFile
|
|
* Dim ws As ExcelWorksheet = ef.Worksheets.Add("Hello World")
|
|
*
|
|
* ws.Cells(0, 0).Value = "English:"
|
|
* ws.Cells(0, 1).Value = "Hello"
|
|
*
|
|
* ws.Cells(1, 0).Value = "Russian:"
|
|
* ' Using UNICODE string.
|
|
* ws.Cells(1, 1).Value = New String(New Char() {ChrW(&H417), ChrW(&H434), ChrW(&H440), ChrW(&H430), ChrW(&H432), ChrW(&H441), ChrW(&H442), ChrW(&H432), ChrW(&H443), ChrW(&H439), ChrW(&H442), ChrW(&H435)})
|
|
*
|
|
* ws.Cells(2, 0).Value = "Chinese:"
|
|
* ' Using UNICODE string.
|
|
* ws.Cells(2, 1).Value = New String(New Char() {ChrW(&H4F60), ChrW(&H597D)})
|
|
*
|
|
* ws.Cells(4, 0).Value = "In order to see Russian and Chinese characters you need to have appropriate fonts on your PC."
|
|
* ws.Cells.GetSubrangeAbsolute(4, 0, 4, 7).Merged = True
|
|
*
|
|
* ef.Save("Hello World.xlsx")
|
|
*
|
|
|
|
Return ''
|
|
|
|
|
|
UnusedCode:
|
|
* hLoadOptions = Create_Class.Net(hDotNet, 'GemBox.Spreadsheet.LoadOptions', 0)
|
|
* Status = Get_Status(StatusCode)
|
|
* XlsxDefault = Get_Property.Net(hLoadOptions, 'XlsxDefault', 0)
|
|
* Status = Get_Status(StatusCode)
|
|
* Methods = Get_Info.Net(hWorksheets, REVDOTNET_INFO_METHODS)
|
|
* Status = Get_Status(StatusCode)
|
|
* Properties = Get_Info.Net(hWorksheets, REVDOTNET_INFO_PROPERTIES)
|
|
* Status = Get_Status(StatusCode)
|
|
return
|
|
|