Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Writing to an excel file
Message
From
10/05/2011 15:53:56
 
 
To
10/05/2011 13:09:35
General information
Forum:
Visual FoxPro
Category:
Client/server
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01510189
Message ID:
01510209
Views:
53
>>Hi All:
>>
>>I'm trying to populate an Excel file with values using automation, but nothing gets written. What am I doing wrong?
>>
>>This is the code:
>>
>>
>>LOCAL loExcel AS Excel.APPLICATION
>>
>>loExcel = CREATEOBJECT("Excel.application")
>>loExcel.VISIBLE = .F.
>>
>>loWorkBook = loExcel.Workbooks.OPEN('P:\Flock Information.xls')
>>loExcel.displayalerts = .F.
>>
>>loWorkBook.Sheets("28 Day").SELECT
>>
>>FOR i = 288 TO 300
>>	legRow = 'M' + ALLTRIM(STR(i))
>>	loWorkBook.ActiveSheet.RANGE("&legRow").select
>>	loExcel.ActiveCell.Value = ALLTRIM(STR(i))   &&<--- This doesn't work
>>*!*		loWorkBook.ActiveSheet.RANGE("&legRow").Value = ALLTRIM(STR(i))  &&<---- This doesn't work either
>>NEXT
>>
>>
>>*  Hardcoding the range also does not work
>>loWorkBook.ActiveSheet.RANGE("M288").select
>>loExcel.ActiveCell.Value = "Hello"	
>>
>>* Execute this code just to make sure there is a connection, and IT WORKS
>>lcTest = loWorkBook.ActiveSheet.RANGE("L288").VALUE
>>? lcTest
>>	
>>loExcel.displayalerts = .F.
>>loExcel.QUIT()
>>RELEASE loExcel
>>loExcel = NULL
>>
>
>
>You don't need to SELECT anything in Excel to refer to it, nor do you need to use character strings to refer to rows and columns. You can use code like:
>
>
>loWorkbook.Sheets("28 Day").Cell(m.i, m.j).Value = ALLTRIM(STR(i))
>
>
>Tamar

Tamar:

I tried this but got 'Invalid Name':
lcSheet = "28 Day"
lcSheet = "Sheet1"

lnColumn = 14
FOR i = 288 TO 300
	*legRow = 'M' + ALLTRIM(STR(i))
	loWorkbook.Sheets(lcSheet).Cell(i, lnColumn).Value = ALLTRIM(STR(i))
	*loWorkBook.ActiveSheet.RANGE("&legRow").select
	*loExcel.ActiveCell.Value = ALLTRIM(STR(i))   &&<--- This doesn't work
*!*		loWorkBook.ActiveSheet.RANGE("&legRow").Value = ALLTRIM(STR(i))  &&<---- This doesn't work either
NEXT
My question is (rather than you spoonfeeding me the solution), whats the best way to get the right syntax, using your line of code as an example? I tried with intellisense, but got lost.

Looking on the web, the only syntax I could find was
ActiveCell.Offset(0, -2).Value)
Yossi
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform