Gå til innhold

VBScript til å skrive inn i Excel fil


Anbefalte innlegg

Halloen

 

Driver å eksperimenterer litt med VBSkript og ADO og trenger litt hjelp med et problem hvor jeg prøver å skrive noen variable inn i en Excel-fil.

 

Dim oDB, oRS, strSQL, strConn, DBRowCount
Const adOpenKeySet = 1
Const adLockOptimistic = 3
Set oDB = CreateObject("ADODB.Connection") 						
Set oRS = CreateObject("ADODB.Recordset")
strConn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & vSnapshotFile &  "Extended Properties = ""Excel 8.0;HDR=Yes""" 

oDB.Open strConn
strSQL = "Select * FROM [Snapshot$]"
oRS.Open strSQL, oDB, adOpenKeySet, adLockOptimistic

$RowNumber_AnalogSummaryGrid = 1

For DBRowCount = 1 To $NumberOfRows_AnalogSummaryGrid					
oRS.AddNew													
oRS.Fields(vHeaderArray(1)) = CStr($SelectedValue_AnalogSummaryGrid[0])			
oRS.Fields(vHeaderArray(2)) = CStr($SelectedValue_AnalogSummaryGrid[1])
oRS.Fields(vHeaderArray(3)) = CStr($SelectedValue_AnalogSummaryGrid[2])	
oRS.Fields(vHeaderArray(4)) = CStr($SelectedValue_AnalogSummaryGrid[3])	
oRS.Fields(vHeaderArray(5)) = CStr($SelectedValue_AnalogSummaryGrid[4])	
oRS.Fields(vHeaderArray(6)) = CStr($SelectedValue_AnalogSummaryGrid[5])	
oRS.Fields(vHeaderArray(7)) = CStr($SelectedValue_AnalogSummaryGrid[6])	
oRS.Fields(vHeaderArray(8)) = CStr($SelectedValue_AnalogSummaryGrid[7])	
oRS.Fields(vHeaderArray(9)) = CStr($SelectedValue_AnalogSummaryGrid[8])	

$RowNumber_AnalogSummaryGrid = $RowNumber_AnalogSummaryGrid + 1

Next

oDB.BeginTrans
oRS.Update
oDB.CommitTrans
oRS.Close
Set oRS = Nothing
Set oDB = Nothing

 

Problemet mitt er at hver gang jeg kjører skripet blir de forskellige variable plassert på tilfeldig rad i excel-filen. Alle de variable i for-løkken skal bli plasert på samme rad men i hver sin kolonne ved én gjennomkjøring av for-løkken. Dette skjer forsåvidt også. Alle variable som hører sammen blir blassert i samme rad, men radene blir helt hulter til bulter. En rad kan f.eks. bli hoppet over, og en annen kan bli skrevet om igjen 3 ganger, helt tilfedig fra gang til gang. Jeg prøvde å sette inn en MsgBox i for-løkken som jeg måtte trykke OK på for hver gjennomgang, og da ble det helt bra. Hver rekke med variable ble skrevet inn der de skulle i tur. Det virker nesten som koden kjøres gjennom raskere enn det informasjonen klarer å bli skrevet inn i cellene i excel arket. Noen som kan hjelpe meg med dette problemet?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...