sk1rty Skrevet 3. november 2006 Del Skrevet 3. november 2006 Hei Jeg har ikke mye peiling på VB scripting, men tar det skrittet å spørre her om noen kan hjelpe meg. Vi har akkurat installert en CD-brenner av denne typen på jobb. På denne er det en printer som skriver på CD-ene etter at de er brent. Til denne printeren følger med med en CD-Designer software. I dette programmet er det ikke mulig å skrive hva som er innholdet på CD-en automatisk. Vi har en fil som heter feks: CDProd1189.tar.gz. Denne filen ligger i en mappe. Denne filen øker stadig "i navn". CDProd1190.tar.gz, CDProd1191.tar.gz osv... Men det ligger alltid bare en fil der, for de gamle blir slettet. Saken er den at det går an å bruke et VBS til å skrive informasjon på CD-platen. Så det jeg trenger er et VBS som finner ut hva filen som ligger under "\\Storm\Image\CDProd\ " heter. Og i tillegg skriver dette på platen. Altså får filnavnet som et slags output. Noen som kan hjelpe? Lenke til kommentar
aadnk Skrevet 3. november 2006 Del Skrevet 3. november 2006 (endret) Nå har jeg ikke benyttet meg av dette programmet tidligere, så hvordan du har tenkt til å implementere VBScript-koden, er for meg litt uklart. Men, jeg regner med StdOut (utdata i form av pipes) er hva som trengs. Koden en må legge i en VBS-fil er som følger: ' * Dette programmet må kjøres gjennom CScrpt for at utdata skal fungere *Dim oFileSystem, File, sFolder ' *Konfigurasjon* sFolder = "\\Storm\Image\CDProd\" ' Mappen vi skal søke igjennom ' Anvender kommandolinjen til å definere mappen som skal brukes, såfremt vi har noe inndata. If WScript.Arguments.Count > 0 Then sFolder = WScript.Arguments(0) End If ' Lag filsystemobjekt Set oFileSystem = CreateObject("Scripting.FileSystemObject") ' Returner filnavnet til alle filer i den angitte mappen For Each File In oFileSystem.GetFolder(sFolder).Files WScript.StdOut.Write File.Name & vbCrLf Next Endret 4. november 2006 av aadnk Lenke til kommentar
sk1rty Skrevet 3. november 2006 Forfatter Del Skrevet 3. november 2006 Tusen takk så langt! Skal teste dette på jobb på mandag, så får du tilbakemelding på hvordan det gikk. Lenke til kommentar
sk1rty Skrevet 6. november 2006 Forfatter Del Skrevet 6. november 2006 Mulig dette ble litt feil. I CD Designer 7.0 så er det en mulighet for å få info i et tekstfelt på et CD Design ved hjelp av Visual Basic Script. Det er en mulighet som heter Single-Line Expression, Mulit-Line Script og Event Control Scripts. Til hver av disse er det et tekstfelt der jeg kan skrive scriptet. Når jeg skrev det scriptet du gav meg aadnk så kom det opp en feilmelding som lyder [qoute=Feilmelding]Line 8: Qbject Required: 'Wscript'[/qoute] Jeg skrev dette i tekstfeltet for Multi-Line Script. Hvis jeg har gjort noe feil, rop ut. Scriptet skal altså returnere et filnavn på filen som ligger i "\\Storm\IMAGE\CDProd\". Det ligger alltid bare én fil der. Lenke til kommentar
Harald Staff Skrevet 6. november 2006 Del Skrevet 6. november 2006 Se om det kan gjøres noenlunde sånn, så slipper du referanser og objekter og denslags: Sub WhatFile() Dim X X = Dir("\\Storm\IMAGE\CDProd\*.*") MsgBox X End Sub HTH. beste hilsen Harald Lenke til kommentar
aadnk Skrevet 6. november 2006 Del Skrevet 6. november 2006 Jeg må medgi jeg har misforstått en smule hva du ønsket å utføre - når du nevnte VBScript, trodde jeg du mente å kjøre en VBS-fil gjennom CScript og returnere filbanen gjennom StdOut, ikke at det var via en integrert skripttolker i programmet (lik makroer i Word). Da benytter man som regel spesielle objekter og metoder/oppsett for å returnere data, noe som gjør at skriptet jeg gav deg ikke vil fungere. Jeg skal se om jeg kan få tak i programmet og sjekke hvordan det gjøres. Lenke til kommentar
GeirGrusom Skrevet 6. november 2006 Del Skrevet 6. november 2006 (endret) Public Function GetFiles(path As String) As Collection Dim out As New Collection Dim strfile As String Do strfile = Dir(IIf(Mid$(path, Len(path), 1) = "\", Path, Path & "\") + "*.*") If strfile = "" Then Exit Do out.Add(strfile) Loop Set GetFiles = out End Function Noe slikt? vet ikke om det funker i Visual Basic For Applications... edit: uff, jeg leser inlegg alt for dårlig for tiden Endret 6. november 2006 av GeirGrusom 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å