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!

Frage Entwicklung VB for Applications

Mitglied: costello

costello (Level 1) - Jetzt verbinden

14.01.2008, aktualisiert 15.01.2008, 7535 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

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 5 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 6 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...