---
title: "Varför i VBScript och inte i VB ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/71652-varför-i-vbscript-och-inte-i-vb"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "firstchoice"
published: "2003-03-20T14:40:16.000Z"
updated: "2003-03-21T12:46:43.000Z"
replies: 19
views: 744
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/71652-varför-i-vbscript-och-inte-i-vb"
---

# Varför i VBScript och inte i VB ?

## #1 — firstchoice, 2003-03-20T14:40Z

varför funkar inte detta i VB när det funkar i VBScript?

```
strBuild = ".htw,C:\WINNT\System32\webhits.dll,3,GET,HEAD,POST#.ida,C:\WINNT\System32\idq.dll,3,GET,HEAD,POST#.idq,C:\WINNT\System32\idq.dll,3,GET,HEAD,POST#.asp,C:\WINNT\System32\inetsrv\asp.dll,1,GET,HEAD,POST,TRACE#" 

strBuild = split(strBuild, "#") 

myValue.Put "ScriptMaps", strBuild
```

blir det någon skillnad på arrayen i VBScript och VB?

Permalänk: https://www.webforum.nu/p/71652

## #2 — @nders, 2003-03-20T15:02Z

Datatyper?

Permalänk: https://www.webforum.nu/p/984502

## #3 — firstchoice, 2003-03-20T15:05Z

i vb:

```
Dim myValue As Object
Dim mode As String
Dim strBuild As Variant
Dim doc As String
```

i VBScript

```
Dim myValue, mode, strBuild, doc
```

Permalänk: https://www.webforum.nu/p/984504

## #4 — @nders, 2003-03-20T15:09Z

Felmeddelande? Vilken del av koden är det som inte fungerar?

Permalänk: https://www.webforum.nu/p/984509

## #5 — firstchoice, 2003-03-20T15:18Z

IIS server tar inte emot infon när jag försöker via VB

```
myValue.Put "ScriptMaps", strBuild
```

Permalänk: https://www.webforum.nu/p/984523

## #6 — @nders, 2003-03-20T15:25Z

Vad är myValue då?

Permalänk: https://www.webforum.nu/p/984531

## #7 — firstchoice, 2003-03-20T17:34Z

det är ett object som är kopplat till iis servern

set myValue = GetObject("IIS://...")

Permalänk: https://www.webforum.nu/p/984613

## #8 — firstchoice, 2003-03-21T07:39Z

någon sem vet?

Permalänk: https://www.webforum.nu/p/984869

## #9 — @nders, 2003-03-21T07:42Z

Tja, jag vet inte jag. Har du lyft in rätt referenser i projektet? Får du felmeddelande? Hur långt kommer du när du kör i debugläge?

Permalänk: https://www.webforum.nu/p/984871

## #10 — firstchoice, 2003-03-21T07:54Z

kommer hit!

```
myValue.Put "ScriptMaps", strBuild
```

men om jag gör så här funkar det

```
strBuild = Array("dddd", "ddd")
```

men hur skall den funka när jag har hela värdet i en lång sträng
då blir det ju Array(""fff", "fff"")

Permalänk: https://www.webforum.nu/p/984880

## #11 — niko, 2003-03-21T09:02Z

Det är inte nåt löjligt enkelt som att *Put* inte gillar att du försöker lägga till en tom scriptmappning? Vad händer om du tar bort det sista "#" i *strBuild*?

Permalänk: https://www.webforum.nu/p/984917

## #12 — firstchoice, 2003-03-21T09:09Z

testade det med...men nop! funkar inte

det skulle är ju att det går bra med VBScript i en ASP fil
men inte i en VB funktion

Permalänk: https://www.webforum.nu/p/984927

## #13 — solbulle, 2003-03-21T09:15Z

Red. jag är ju då blind...  :r

Permalänk: https://www.webforum.nu/p/984929

## #14 — niko, 2003-03-21T09:16Z

Har ingen riktig förklaring på skillnaderna. Men varför inte försöka gå runt problemet?

Funkar:

```
Dim strBuild As String
Dim strArray() As String

strArray = split(strBuild, "#") 
myValue.Put "ScriptMaps", strArray
```

?

Eller, varför inte:

```
for i=0 to Ubound(strArray)-1
	myValue.Put "ScriptMaps", strArray(i)
next
```

?

Permalänk: https://www.webforum.nu/p/984931

## #15 — firstchoice, 2003-03-21T09:41Z

den sa ej ifrån på följande kod

```
for i=0 to Ubound(strArray)-1
	myValue.Put "ScriptMaps", strArray(i)
next
```

MEN resultatet blev att det tillslut bara var det sitta värdet som var sparat :( \*orkar inte mer nu!\*

Permalänk: https://www.webforum.nu/p/984952

## #16 — niko, 2003-03-21T09:54Z

> orkar inte mer nu

Knappt jag heller .. Men har du nån mer fullständigt kod så man kan testa själv vid tillfälle?

OBS: Du behöver inte klippa in några A4-sidor. Bara precis så mycket så man förstår vad du försöker göra och vad *myValue* egentligen refererar till.

Permalänk: https://www.webforum.nu/p/984965

## #17 — firstchoice, 2003-03-21T09:58Z

här kommer det viktigaste

```
Private Sub Command1_Click()

Dim myValue As Object
Dim strBuild As Variant
Dim doc As String

Set myValue = GetObject("IIS://localhost/W3SVC/1/root")

strBuild = Array(".htw,C:\WINNT\System32\webhits.dll,3,GET,HEAD,POST", ".ida,C:\WINNT\System32\idq.dll,3,GET,HEAD,POST", ".idq,C:\WINNT\System32\idq.dll,3,GET,HEAD,POST", ".asp,C:\WINNT\System32\inetsrv\asp.dll,1,GET,HEAD,POST,TRACE", ".cer,C:\WINNT\System32\inetsrv\asp.dll,1,GET,HEAD,POST,TRACE", ".cdx,C:\WINNT\System32\inetsrv\asp.dll,1,GET,HEAD,POST,TRACE", ".asa,C:\WINNT\System32\inetsrv\asp.dll,1,GET,HEAD,POST,TRACE", ".htr,C:\WINNT\System32\inetsrv\ism.dll,1,GET,POST", ".idc,C:\WINNT\System32\inetsrv\httpodbc.dll,1,OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE", ".shtm,C:\WINNT\System32\inetsrv\ssinc.dll,1,GET,POST", ".shtml,C:\WINNT\System32\inetsrv\ssinc.dll,1,GET,POST", ".stm,C:\WINNT\System32\inetsrv\ssinc.dll,1,GET,POST", ".printer,C:\WINNT\System32\msw3prt.dll,1,GET,POST")

myValue.Put "ScriptMaps", vbNull

myValue.Put "ScriptMaps", strBuild 

myValue.SetInfo
Set myValue = Nothing
End Sub
```

man saken är att jag vill ha det som skall läggas i Arrayen först skall ligga i en sträng och sedan slittas upp i en array
för att jag vid olika "mode" skall skicka in olika värden

koden ovan skall funka som den är
men jag vill ha ändringar enligt vad jag beskrev precis

Permalänk: https://www.webforum.nu/p/984971

## #18 — firstchoice, 2003-03-21T10:00Z

detta script kräver ju dock att man har IIS servern installerad
det den gör är att den ändrar "Application Mappings"

Permalänk: https://www.webforum.nu/p/984973

## #19 — niko, 2003-03-21T11:13Z

OK. Nu har jag tittat på det. Problemet tycks vara att *ScriptMaps* varken är en array av strings eller en variant, utan en array av varianter. (*Split* i VB kan inte hantera detta på samma automatiska sätt som VBScript.)

```
Dim myValue As Object
Dim strBuild As String
Dim doc As String
Dim arrVarBuild() As Variant
Dim arrStringBuild() As String, i as Integer

Set myValue = GetObject("IIS://localhost/W3SVC/1/root")
strBuild = ".htw,C:\WINNT\System32\webhits.dll,3,GET,HEAD,POST#.ida,C.. osv

arrStringBuild = Split(strBuild, "#")
'Flytta över från string-array till variant-array.
ReDim arrVarBuild(UBound(arrStringBuild))
For i = LBound(arrStringBuild) To UBound(arrStringBuild)
    arrVarBuild(i) = arrStringBuild(i)
Next

myValue.ScriptMaps = arrVarBuild
myValue.SetInfo
Set myValue = Nothing
```

Känns inte så snyggt, men det funkar iaf.

Permalänk: https://www.webforum.nu/p/985031

## #20 — firstchoice, 2003-03-21T12:46Z

tack så jätte mycket!! funkar bra :)

Permalänk: https://www.webforum.nu/p/985081

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/71652-varför-i-vbscript-och-inte-i-vb
