View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default OLE Excel data handling from VB

assume your data is in a single column - two dimenional array

dim myarray(1 to numrows, 1 to 1)


so for example

if myarray is 1 x 10, 1 x 1

Cells(1,1).Resize(10,1).Value = myarray

Assuming your enter in each cell is something like

Data1 tab data2 tab data2 tab

you can go into excel and do Data=Text to column, select delimited, set Tab
as the delimiter and your data will be parsed into separate columns.

If you turn the macro recorder on while you do this, you will get the code
to run the command (the interactive dialog will not be displayed when run in
code).

Regards,
Tom Ogilvy

"Faiz" wrote in message
om...
Dear Experts,

We have developed a scientific application using VB6. The output,
which contains several columns having numeric data delimited by <tab
char, is displayed in a multiline text box control. We wish to copy
the data of a certain column (like, Block selected mode in TextPad)
only. The text box control does not allow this feature at all.

We decided to use Excel as an OLE container(embedded interface of
Excel) to display output in columns. I am using the following code to
populate the Excel.

OLE1.CreateEmbed "", "Excel.Sheet.8"

Set objExcel = OLE1.object.Parent 'Now you can use the type lib
Set objWB = OLE1.object 'will return a workbook object
Set objSheet = objWB.ActiveSheet 'will return a worksheet object

'objSheet.Cells(1, 1) = "Data 1"

Can anybody please tell the following things:

1). A more better way to send data to Excel from VB in a junk or
atleast for the whole row instead of cell by cell.

2). How to allow users to edit the data in the cells without opening
the separate instance of the Excel interface(perhaps called in-line
editing).

3). Allow user to select any row/col to perform cut, copy or paste
operation.

Any help in this regard will be highly appreciated.

Regards,

Faiz