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, 7609 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
Humor (lol)
Meine Variante der DSGVO
Tipp von Henere vor 1 TagHumor (lol)2 Kommentare

Datenschutzerklärung Jede gute Website braucht eine Datenschutzerklärung? Ok, dann machen Sie sich auf etwas gefasst. Präambel Artikel 12 der ...

Administrator.de Feedback

Entwicklertagebuch: Datenschutzerklärung nach DS-GVO

Information von admtech vor 1 TagAdministrator.de Feedback

Hallo Administrator User, Wir respektieren eure Privatsphäre und möchten euch daher auf die Möglichkeiten für den Umgang mit euren ...

Voice over IP

Rufnummernblock aufbrechen nun möglich bei DTAG

Tipp von Datenreise vor 1 TagVoice over IP

Bei der Telekom ist es seit einigen Tagen laut Aussage der Geschäftskunden-Hotline möglich, eine Rufnummernübernahme auch dann durchzuführen, wenn ...

Netzwerke
Riesiges Botnetz in Deutschland
Tipp von FFSephiroth vor 1 TagNetzwerke1 Kommentar

Überprüft mal eure Router und NAS

Heiß diskutierte Inhalte
Voice over IP
VOIP: Lösungen für Notruf?
Frage von MimemmmVoice over IP26 Kommentare

Hey Welche Möglichkeiten hat man eigentlich noch bei VOIP um zuverlässige Notrufe zu ermöglichen? Ein aufgeladenes Handy habe ist ...

Windows Server
Fragwürdige GPO Fehler im Syslog
gelöst Frage von Ex0r2k16Windows Server13 Kommentare

Hallo! Ich kriege bei manchen (oder sogar allen? -prüfe noch) Clients folgenden Fehler bei mehreren GPOs (aber nicht bei ...

Windows Server
DHCP und Regeln und Filter
Frage von OlliPWSWindows Server10 Kommentare

Guten Tag, wir haben folgende Problematik: Wir haben diverse ca. 130 Avaya VoIP Telefone, diese sollen per DHCP automatisch ...

Windows Server
Nach KB4103718 RDP auf Windows 2003 Server
gelöst Frage von Bl0ckS1z3Windows Server9 Kommentare

Hallo Admins, im KB4103718 ist ja der Patch für den RDP-Server und Client enthalten. Wir haben aber noch Windows ...