Just nu i M3-nätverket
Gå till innehåll

VBScript problem


MartinH

Rekommendera Poster

Ang. utvecklings problem i Outlook (Fel forum?)

 

Jag har ett VBScript problem i Outlook som jag skulle behöva hjälp med. Jag har skapat ett anpassat formulär i Outlook.

När man matar in uppgifter i formuläret om gata och gatunr. och klickar på knappen Faxnr så ska scripet hämta uppgifter till fälten Fkod (Fastighetskod), Fastighet, Driftområde (Driftomrade) och Faxnr från en Excel-fil. Scripet itererar, rad för rad, igenom filen för att se ifall gata och gatnr finns i filen, gör de det så placeras motsvarande värden i fälten FKod, Fastighet, Driftområde och Faxnr. Gör den det inte så får man ett meddelande om att gatan inte finns eller är felstavad.

 

Den kod snutt som jag bifogar här nedan fungerar utmärkt i både VB och VBA, den gör jobbet sas, men i VBS så tycks den bara delvis göra jobbet.

Jag får inga fel meddelanden eller så men den hittar inte värden som jag vet finns i Excel-filen. Jag får en känsla av att den inte kan plocka upp värdena i variablerna. Eller så görs ingen jämförelse. Har jag använt en funktion som vbs inte hanterar eller har jag inte skrivit enligt rätt konventioner? I så fall kan man tycka att man borde få ett fel meddelande.

 

Kod:

*********************************************

Sub FaxNr_Click()

 

 

Dim obExcel 'As Object

Dim obBlad 'As Object

Dim strGata

Dim strGnr 'As String

 

'Skapa ett eget Outlook objekt, ej klart

 

'Stop

 

'Skapa ett Excel objekt

Set obExcel = CreateObject("Excel.Application")

 

'Öppna Excelfilen

obExcel.workbooks.Open "X:\GEMENSAM\Kent\adressre0614ny.xls"

 

'Skapa ett kalkylblad objekt med fliken "nytt" som innehåll

Set obBlad = obExcel.Activeworkbook.Worksheets("nytt")

obExcel.Visible = True 'För test, annar False

 

 

'Initiera default värde

iRad = 2

iNamnKolumn = 5

iNrKolumn = 6

iFkodKolumn = 4

iFastKolumn = 1

iDriftKolumn = 8

iFaxKolumn = 10

bKlart = False

 

Do While Not bKlart

' Kolla om gatunamn och nr stämmer med aktuell rad i excel filen

strGata = obBlad.Cells(iRad, iNamnKolumn)

strGnr = obBlad.Cells(iRad, iNrKolumn)

 

If Adress = strGata And Gnr = strGnr Then

'Adress och Gnr är text-box fält i Outlook formuläret

 

FKod = obBlad.Cells(iRad, iFkodKolumn) '4

Fastighet = obBlad.Cells(iRad, iFastKolumn) '1

Driftomrade = obBlad.Cells(iRad, iDriftKolumn) '8

Faxnr = obBlad.Cells(iRad, iFaxKolumn) '10

bKlart = True 'När itereringen nått den rad i Excelbladet där

'värderna i cellerna motsvarar fälten Adress och Gnr

 

 

Else

 

iRad = iRad + 1

End If

If obBlad.Cells(iRad, iNamnKolumn).Value = "" Then

MsgBox "Gatan finns inte eller är felstavad"

Exit Do

End If

Loop

 

obExcel.Application.Quit

Set obExcel = Nothing

End Sub

 

 

mvh/martin

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...