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, 7674 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. ...

VB for Applications
Vbs Script Hilfe
gelöst Frage von Dr.CornwallisVB for Applications3 Kommentare

Liebe Gemeinde, hat von euch zufällig jemand ein VBs Script das folgendes o.ä macht: Das Script wird per GPO ...

Neue Wissensbeiträge
Router & Routing

Endlich: Reines Kabel-TV Modem in D erhältlich !

Information von aqui vor 1 TagRouter & Routing9 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...

Netzwerkgrundlagen
The Illustrated TLS Connection
Information von Lochkartenstanzer vor 2 TagenNetzwerkgrundlagen

Moin, Unter findet man eine gelungene Erläuterung von TLS. Fördert sehr das verständnis darüber, was da passiert. lks

Windows 10

Zuverlässiger Remove-AppxProvisionedPackage Ausführen in W10-1803

Tipp von NetzwerkDude vor 4 TagenWindows 104 Kommentare

Moin, Remove-AppxProvisionedPackage hat in 1709 recht zuverlässig funktioniert, in 1803 ist es leider so das es gerne mail failed ...

LAN, WAN, Wireless
Erfahrung mit dem tplink eap115-wall
Erfahrungsbericht von fisi-pjm vor 4 TagenLAN, WAN, Wireless

Die Hintergründe Als ausgebildeter Fisi und ambitionierter "Hobby ITler" bin ich Netzwerktechnisch immer auf der Suche nach "schönen" Lösungen ...

Heiß diskutierte Inhalte
Apache Server
Webserver überlastet - wie entlasten?
Frage von coltseaversApache Server13 Kommentare

Hi ho, ich hoste aktuell für nen Kunden eine Webseite basierend auf Wordpress. Die Seite liegt auf einem Debian ...

Netzwerkmanagement
Netzwerklaufwerk verbinden nicht möglich
gelöst Frage von SteiniMNetzwerkmanagement13 Kommentare

Hallo Leute, ich bin neu hier und brauche eure Hilfe. Danke schon mal im Voraus. Ich habe folgendes Problem: ...

Windows 10
Backup von NAS auf externe Festplatte in verschiedenen Räumen
Frage von kvnbucherWindows 109 Kommentare

Guten Tag Ich habe vor kurzem ein Synology NAS DS218+ installiert und sämtliche Daten von meinen Computern auf das ...

Router & Routing
Endlich: Reines Kabel-TV Modem in D erhältlich !
Information von aquiRouter & Routing9 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...