Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst VBS-Script verursacht eine Fehlermeldung!

Mitglied: costello

costello (Level 1) - Jetzt verbinden

14.01.2008, aktualisiert 15.01.2008, 7575 Aufrufe, 4 Kommentare

Hallo zusammen,

meine Geburtstag-Erinnerung .vbs Datei verursacht die folgende Fehlermeldung:
01.
Skript:        C:\Daten\birthday.vbs 
02.
Zeile:          36 
03.
Zeichen:      7 
04.
Fehler:        Typen unverträglich: 'DateValue' 
05.
Code:         800A000D 
06.
Quelle:        Laufzeitfehler in Microsoft VBScript
und hier die Quelle:
01.
Dim objFileSystem 
02.
Dim objFile 
03.
Dim objTextStream 
04.
Dim szConfigFile 
05.
Dim szBirthday, szName, szThisYear, szNextYear, szComparisonDate 
06.
Dim szMessage 
07.
Dim iTime 
08.
Dim iDifference 
09.
 
10.
' Standardwerte für einige Variablen 
11.
szConfigFile = "C:\DATEN\BIRTHDAY.INI" 
12.
iTime        = 5 
13.
 
14.
szMessage    = "" 
15.
szThisYear   = CStr(Year(date)) 
16.
szNextYear   = CStr(Year(date)+1) 
17.
 
18.
Set objFileSystem = CreateObject("Scripting.FileSystemObject") 
19.
 
20.
' Config-Datei ermitteln, ... 
21.
If objFileSystem.FileExists(szConfigFile) Then 
22.
 
23.
   ' ... öffnen... 
24.
   Set objFile = objFileSystem.OpenTextFile(szConfigFile) 
25.
 
26.
   ' ... und zeilenweise abarbeiten 
27.
   Do until objFile.atEndOfStream 
28.
    
29.
      ' Geburtstag und Name des Geburtstagskindes lesen 
30.
      szBirthday = objFile.read(6) 
31.
      szName = objFile.readLine 
32.
 
33.
      ' Wieviele Tage sind es noch bis zum nächsten Geburtstag? 
34.
      szComparisonDate = szBirthday & szThisYear 
35.
      iDifference = DateDiff("y", date, DateValue(szComparisonDate)) 
36.
       
37.
      ' Falls der nächste Geburtstag allerdings erst im nächsten Jahr liegt 
38.
      if (CInt(iDifference) < 0) then 
39.
         szComparisonDate = szBirthday & szNextYear 
40.
         iDifference = DateDiff("y", date, DateValue(szComparisonDate))    
41.
      end if 
42.
 
43.
      ' Wenn die Anzahl der Tage innerhalb der Frist liegt 
44.
      if (CInt(iDifference) <= iTime) then 
45.
         szMessage = szMessage & szName & " am " & szComparisonDate & " - noch " & iDifference & " Tage" & Chr(10)   
46.
      end if 
47.
       
48.
   Loop 
49.
   objFile.close 
50.
    
51.
else 
52.
   MsgBox "Die Config-Datei " & szConfigFile & " ist nicht vorhanden!", vbCritical, "Fehler" 
53.
end if 
54.
 
55.
' Falls vorhaben, Liste der nächsten Geburtstage ausgeben 
56.
If szMessage<>"" Then 
57.
   MsgBox szMessage, vbInformation, "Die nächsten Geburtstage" 
58.
End If
Die .ini Datei sieht z.B. wie folgt aus:
01.
01.01. ich  
02.
02.02. du
als birthday.ini gespeichert.
OS ist WinXP SP2.Die Frage wäre ob die Datei noch zum reparieren ist.
Falls jemand eine Lösung hätte dann würde ich mich sehr freuen!
Ich muss auch zugeben das meine Programmierkenntnise gleich null sind!

Schöne Grüsse,
costello
Mitglied: bastla
15.01.2008 um 00:40 Uhr
Hallo costello!

Mein Tipp wäre eine fehlerhafte Zeile in der "birthday.ini" ...

Zum Testen könntest Du nach
01.
szName = objFile.readLine
die Zeile
01.
WScript.Echo szBirthday & " " & szName
einfügen und das Script von der Kommandozeile (Start / Ausführen... / cmd) wie folgt starten:
01.
cscript //nologo "C:\Scripts\Birthday.vbs"
(sinnvoller Weise solltest Du statt "C:\Scripts\Birthday.vbs" den Pfad zu Deinem Script verwenden ).

So kannst Du erkennen, nach welchem Datum / Namen der Fehler eintritt.

Grüße
bastla

P.S.: Bitte zum Posten von Code < code> / < /code>-Tags (ohne Leerzeichen) verwenden - dann wäre hoffentlich auch ersichtlich, ob das Script mit einer Leerzeile beginnt, da sich ansonsten die Zeilenangabe 36 schwer nachvollziehen lässt. Dies gilt auch für das Zeichen 7 - hier hätte ich eigentlich 1 erwartet.
Bitte warten ..
Mitglied: costello
15.01.2008 um 02:14 Uhr
Hallo Bastla,

danke für die schnelle Antwort.Für das Posten muss ich sagen Mea Culpa, habe nicht geachtet, jetzt weiss ich!Das Script beginnt tatsächlich mit einer Leerzeile.Dann ist hier der Hund begraben (mehr oder weniger):
01.
      
02.
      iDifference = DateDiff("y", date, DateValue(szComparisonDate))
Hier noch einmal die Quelle (hoffentlich gut formatiert!!!).Die eingefügte Zeile hat nach der überprüfung allen Datum / Namen Einträgen die selbe Fehlermeldung wie oben beschrieben gebracht.
Noch einmal danke für deine Hilfe!
Schöne Grüsse,
costello

01.
 
02.
Dim objFileSystem 
03.
Dim objFile 
04.
Dim objTextStream 
05.
Dim szConfigFile 
06.
Dim szBirthday, szName, szThisYear, szNextYear, szComparisonDate 
07.
Dim szMessage 
08.
Dim iTime 
09.
Dim iDifference 
10.
 
11.
' Standardwerte für einige Variablen 
12.
szConfigFile = "C:\DATEN\BIRTHDAY.INI" 
13.
iTime        = 5 
14.
 
15.
szMessage    = "" 
16.
szThisYear   = CStr(Year(date)) 
17.
szNextYear   = CStr(Year(date)+1) 
18.
 
19.
Set objFileSystem = CreateObject("Scripting.FileSystemObject") 
20.
 
21.
' Config-Datei ermitteln, ... 
22.
If objFileSystem.FileExists(szConfigFile) Then 
23.
 
24.
   ' ... öffnen... 
25.
   Set objFile = objFileSystem.OpenTextFile(szConfigFile) 
26.
 
27.
   ' ... und zeilenweise abarbeiten 
28.
   Do until objFile.atEndOfStream 
29.
    
30.
      ' Geburtstag und Name des Geburtstagskindes lesen 
31.
      szBirthday = objFile.read(6) 
32.
      szName = objFile.readLine 
33.
       
34.
      ' Wieviele Tage sind es noch bis zum nächsten Geburtstag? 
35.
      szComparisonDate = szBirthday & szThisYear 
36.
      iDifference = DateDiff("y", date, DateValue(szComparisonDate)) 
37.
       
38.
      ' Falls der nächste Geburtstag allerdings erst im nächsten Jahr liegt 
39.
      if (CInt(iDifference) < 0) then 
40.
         szComparisonDate = szBirthday & szNextYear 
41.
         iDifference = DateDiff("y", date, DateValue(szComparisonDate))    
42.
      end if 
43.
 
44.
      ' Wenn die Anzahl der Tage innerhalb der Frist liegt 
45.
      if (CInt(iDifference) <= iTime) then 
46.
         szMessage = szMessage & szName & " am " & szComparisonDate & " - noch " & iDifference & " Tage" & Chr(10)   
47.
      end if 
48.
       
49.
   Loop 
50.
   objFile.close 
51.
    
52.
else 
53.
   MsgBox "Die Config-Datei " & szConfigFile & " ist nicht vorhanden!", vbCritical, "Fehler" 
54.
end if 
55.
 
56.
' Falls vorhaben, Liste der nächsten Geburtstage ausgeben 
57.
If szMessage<>"" Then 
58.
   MsgBox szMessage, vbInformation, "Die nächsten Geburtstage" 
59.
End If
Bitte warten ..
Mitglied: bastla
15.01.2008 um 07:49 Uhr
Hallo costello!

Das Script beginnt tatsächlich mit einer Leerzeile.
... dann kommt zumindest einmal die Position des Fehlers bei Zeichen 7 hin ...

Den Fehler kann ich reproduzieren, allerdings nur mit einer ini-Zeile der Art "02.22. du", also einem ungültigen Datumsbestandteil.

Die eingefügte Zeile hat nach der überprüfung allen Datum / Namen Einträgen die selbe Fehlermeldung wie oben beschrieben gebracht.
Die eingefügte Zeile soll dabei helfen, die (vor)letzte korrekte Zeile der ini zu finden, da nach Verarbeitung einer fehlerhaften Zeile das Script abbricht - insofern darf diese Zeile keine Fehlermeldung verursachen.

Falls Deine ini-Datei sehr umfangreich sein sollte, kannst Du die Bildschirmausgabe des Scripts auch in eine Datei umleiten, indem Du es wie folgt aufrufst:
01.
cscript //nologo "C:\Scripts\Birthday.vbs" > C:\Protokoll.txt
Falls Du mit freiem Auge tatsächlich kein fehlerhaftes Datum erkennen kannst, müssen wir eine Prüfung der Daten per Script versuchen ...

Grüße
bastla

P.S.: Danke für die Formatierung.
Bitte warten ..
Mitglied: costello
15.01.2008 um 21:13 Uhr
Hallo Bastla,

Herzlichen Dank für deine kompetente Hilfsbereitschaft.Nach viel Rumbastlerei und Suche nach selbst eingebauten Fehlern funktioniert das Script!

Mein Tipp wäre eine fehlerhafte Zeile in der "birthday.ini" ...

Hier hast du Recht gehabt!Nachdem ich vieles versucht habe und nichts funktioniert hat, habe mich entschlossen die .ini Datei neu zu editieren und zwar habe ich eine kopie der Datei erstellt, die originale umbenannt (beliebig) und angefangen mit den einzelnen "Datum / Namen" einzutragen. Nachdem keine Fehlermeldung zu sehen war habe ich die anderen "Datum / Namen" Einträgen mit copy / paste dazugefügt.Weshalb die original .ini Datei beschädigt war bleibt mir (mindestens) ein Rätsel!

Schöne Grüsse,

costello
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBS bringt diverse Fehlermeldungen
gelöst Frage von VBSNOOBVB for Applications2 Kommentare

Guten Tag zusammen, ich habe einen kleinen Script programmiert, der eine einheitliche Email Signatur erstellt. Dieser Script wird per ...

VB for Applications
VBS Script kann Prgramm nicht starten
gelöst Frage von C.BoernerVB for Applications15 Kommentare

Hallo ihr Admins, Ich habe folgendes Scenarios ein Programm läuft im Hintergrund (Drivve-Image) das übergibt Werte an ein VBS ...

Batch & Shell
Hilfe Bei einem vbs Script
gelöst Frage von Hattori-HanzoBatch & Shell19 Kommentare

Hey Leute Könnt ihr mir bitte sagen was daran falsch ist? beschäftige mich erst seit kurzem mit vbs scripts. ...

JavaScript

VBS-Script wird nicht vollständig ausgeführt

Frage von HousefrauJavaScript3 Kommentare

Hallo zusammen, wir lassen über eine Gruppenrichtlinie einen Script ausführen, welcher die Drucker der einzelnen Parteien mappen soll. Leider ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 21 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 21 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 1 TagSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
gelöst Frage von YellowcakeExchange Server23 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...

LAN, WAN, Wireless
Gigabit-Lan mit zwei 4-adrigen Kabeln?
Frage von ArvedirmerLAN, WAN, Wireless11 Kommentare

Ich habe folgendes Problem: Ich betreue eine kleine Firma die sich im 1.Stock eines Gebäudes befindet. Es existiert ein ...

Router & Routing
Routing Probleme mit Firewall
gelöst Frage von mb1811Router & Routing9 Kommentare

Hallo Zusammen! Ich habe folgende Problematik, wo ich ein wenig Input benötige: Gem. angehängter Skizze habe ich folgenden Stand: ...