Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Error with oRange
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Versions des environnements
Visual FoxPro:
VFP 9 SP2
Database:
Visual FoxPro
Divers
Thread ID:
01516312
Message ID:
01516349
Vues:
39
>I have had to rework my entire Excel Automation; the result is that my oRange variable is somehow out of scope.
>What did I do wrong?
>Cecil
>
Maybe I'm missing it but I don't see where lcOldCarr_Name is defined before the SCAN.

Assuming that you simply left it out of your cut and paste is it possible you defined it as ""? It that's the case your first IF condition will fail.
lcCarr_Name = "Carrier"
lcOldCarr_Name = ""
? lcCarr_Name <> lcOldCarr_Name ----> .F.
>
>FOR nMonth = 1 TO lnMonths	&& 12
>	WITH oExcel.ActiveSheet
>		* Select the correct Month's cursor (table).
>		lcMonth=PADL(nMonth, 2, "0")
>		lcCursor=("tmpNearly"+lcMonth)
>		SELECT (lcCursor)
>		SCAN
>			lcCarr_Name = &lcCursor..Carr_Name
>			IF lcCarr_Name <> lcOldCarr_Name	&& Either frist time in, or you have a new carrier.
>				* Move down a row for the new Carrier Name. Makes two rows.
>				oRange = oRange.Offset(1,0)
>				oExcel.ActiveSheet.Cells(lnRow-1,lnCol).Value = "Monthly-" + lcCarrierName
>					* Put the name of the first report in A1.
>				lcAlphaMonth = LEFT(GetAlphaMonth(nMonth),3)
>				.Cells(lnRow-1,lnCol+3).Value = lcAlphaMonth + " " + lcYear
>				* Lay out the Columnn Headers from Left to Right.
>				.Cells(lnRow, lnCol).Value = "Group Name"
>				.Cells(lnRow, lnCol + 1).Value = "GrpID"
>				.Cells(lnRow, lnCol + 2).Value = "Emp. ID"
>				.Cells(lnRow, lnCol + 3).Value = "Benefit"
>				.Cells(lnRow, lnCol + 4).Value = "Month_Billed"
>				.Cells(lnRow, lnCol + 5).Value = "Month_Collected"
>				.Cells(lnRow, lnCol + 6).Value = "Annualized Premium"
>				.Cells(lnRow, lnCol + 7).Value = "Lives"
>			ENDIF
>			*oxcel.ActiveSheet.Cells(lnRow-1,lnCol).Value = "Monthly-" + lcCarrierName
>			WITH oRange
>				* Print the columns/fields to the page. This runs left to right on the default row.
>				.Columns[1].Value = GrpName			&& Group Name
>				.Columns[2].Value = GrpID			&& Group ID
>				.Columns[3].Value = Emp_ID			&& Employer's ID
>				.Columns[4].Value = Benefit			&& Benefit Name.
>				.Columns[5].Value = Billed			&& Monthly Billed Amount By GrpID, Employer.
>				.Columns[6].Value = Collected		&& Monthly Collected amount by GrpID, Employer.
>				.Columns[7].Value = Annualized		&& Annualized Premium.
>				.Columns[8].Value = Lives			&& # of Primary Insured.
>				* Move down one row.
>				oRange = oRange.Offset(1,0)
>			ENDWITH
>			lcOldCarr_Name = &lcCursor..Carr_Name
>		ENDSCAN
>		* Since we've changed months, let's go to the right 9 columns.
>		lnColsOffSetToRight=lnColsOffSetToRight + 9
>		lnCol = lnColsOffSetToRight + 1
>		oRange = .Range("A3:H3").Offset(0, lnColsOffSetToRight)
>	ENDWITH
>ENDFOR
>
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform