nifty Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 *Scriptet som står under, brukes til å splitte en variabel, som er hentet fra en barcode et annet sted i et dokumenthåndteringssystem. Deretter brukes den første variabelen (barcode1) til å opprette en mappe med barcodeverdien direkte. Det jeg helst skulle gjort, er å , dersom barcode1 for eksempel er lik SZ, opprette mappen med navnet TEST1, om barcode1 er lik SH opprette mappen med navnet test2, osv. Dette har jeg forsøkt å lese litt om, og kommet frem til at CASe SELECT kanskje er tingen å benytte seg av her. Er det noen som kan hjelpe meg med å forstå syntaksen til dette ? eventuelt komme med eksempler basert på det nedenstående scriptet ?! Med vennlig hilsen en som ikke hatr rørt VBscript spesielt mye før ...... Sub SplitBarcode_OnLoad() On Error Resume Next EKOManager.StatusMessage("Loading splitt barcode script" ) Dim Barcode Set PTopic = KnowledgeObject.GetPersistenceTopic() If Not(PTopic Is Nothing) Then EKOManager.StatusMessage(PTopic.EntryCount("")) Set Entry = PTopic.GetEntry("Barcode") If Not(Entry Is Nothing) Then Barcode = Entry.Value EKOManager.StatusMessage("Barcode: " & Barcode) 'splitt Barcode1 = Left(Barcode,2) Lengde = Len(Barcode)-2 Barcode2 =Right(Barcode,Lengde) EKOManager.StatusMessage("New Extracted Value1: " & Barcode1 ) EKOManager.StatusMessage("New Extracted Value1: " & Barcode2 ) 'Define UserTag that contains the folder name sUserTag1 = "~USR::Barcode1~" sUserTag2 = "~USR::Barcode2~" 'Replace the UserTag in the rest of the runtime configuration for the current job Set Topic = KnowledgeContent.GetTopicInterface If Not(Topic Is Nothing) And Barcode <> "" Then Topic.Replace sUserTag1, Barcode1 Topic.Replace sUserTag2, Barcode2 Else KnowledgeObject.Status = 2 'KO_STATUS_BAD EKOManager.ErrorMessage("! Barcode not found !") End If Else KnowledgeObject.Status = 2 'KO_STATUS_BAD End If End If End Sub Sub ExtractBarcodeValue_OnUnLoad() EKOManager.StatusMessage("Unloading Script" ) End Sub Lenke til kommentar
aadnk Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 En behøver nødvendigvis ikke benytte Select Case til dette, blant annet ville en Collection eller en Array også kunne fungere tilfredstillende. Skjønt, i dette tilfellet - med et slikt begrenset utvalg med mulige strenger - er nok Select Case et godt valg. Syntaksen for å utføre dette (samt lage mapper), er som følger: Dim oFSO, sDirectory ' Root-mappe sDirectory = "C:\" ' Lager referanse til objekt vi skal benytte Set oFSO = CreateObject("Scripting.FileSystemObject") Select Case barcode1 Case "SZ" oFSO.CreateFolder(sDirectory & "TEST1") Case "SH" oFSO.CreateFolder(sDirectory & "TEST1") End Select Lenke til kommentar
HDSoftware Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Det jeg helst skulle gjort, er å , dersom barcode1 for eksempel er lik SZ, opprette mappen med navnet TEST1, om barcode1 er lik SH opprette mappen med navnet test2, osv. Dette har jeg forsøkt å lese litt om, og kommet frem til at CASe SELECT kanskje er tingen å benytte seg av her. Heisan Litt usikker på hva du etterspør her, men det virker som om du trenger en case struktur. Hva med noe slik: PUBLIC SUB OpprettKatalog(ByVal StringToCheck as String, optional ByVal Path as String = "C:\") if mid(Path,len(Path),1) <> "\" then Path = Path & "\" End if select case StringToCheck Case "SZ" Path = Path & "TEST1" Case "SH" Path = Path & "TEST2" O.S.V END Select MKDIR Path End Sub Dermed har du en metode som gjør jobben for deg. Du kaller den opp slik: OpprettKatalog(BarCode1) ' Oppretter katalogen i C:\ OpprettKatalog(BarCode1. "C:\BarcodeDir\") ' Oppretter da i C:\BarcodeDir OpprettKatalog(BarCode1, "\\SERVER\GivenShare\SomeOtherDir") o.s.v. HDH Ole Lenke til kommentar
nifty Skrevet 18. oktober 2006 Forfatter Del Skrevet 18. oktober 2006 Hjertelig takk for god hjelp Ha en fortsatt god dag ! Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå