View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson[_5_] Dave Peterson[_5_] is offline
external usenet poster
 
Posts: 1,758
Default PROGRAMMIATICALLY importing CSV data in a SPECIFIC workbook templa

Have you thought of using workbooks.add to add the workbook based on that
template.

Then open your text file (rename your .csv file to .txt so that you can specify
each column's format), then just copy|paste special|Values into your worksheet
in that new workbook.

You could even do Data|import external data into your workbook (that was based
on the template).

===
If you're data is pretty large, I find that excel's built in OpenText much
faster.


Bing wrote:

Hi,

I asked this question early but need some clarification. Specifically i'm
trying to programmaticially load CSV data into a specific template-based
workbook without any user interaction.

The opentext method does a good job of this but doesn't have any
functionality to specific a specific workbook to load the data in.

With the workbooks.add method i can specify a specific workbook template,
and then i can execute a macro in that template that will load the data by
opening the csv file and reading line by line, splitting the line on "," and
then output each field into individual cells on a row.

I have some concerns with the performance of this methodology compared with
excel's opentext method. However the OPENTEXT method is probably doing the
same thing that i'm doing so performance wise is it pretty much more the same?

Alternatively i can read in a line, output entire line into 1 cell, then
call range.TextToColumns method but that seems even worse performance wise
because i need to do an extra step to write the line to the cell.

Does anyone have a smarter way programmatically achieving the same function
as OPENTEXT, BUT having the data loaded into a specific workbook template?

Thanks again!
Bing


--

Dave Peterson