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

Microsoft

Adobe Reader DC verursacht Windows Fehlermeldung "Einschränkungen"

gelöst Frage von D33kayMicrosoft3 Kommentare

Hallo, heute haben wir den Adobe Reader auf unseren Terminal Servern von Version XI auf DC geupdated. Seitdem erhalten ...

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

Entwicklung

VBS Script in Powershell aufrufen

gelöst Frage von HanutaEntwicklung7 Kommentare

Hallo Zusammen, ich möchte einen VBS Script in Powershell aufrufenist das überhaupt möglich ? Wenn ja, wie ? VG ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 1 TagInternet4 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 1 TagWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 2 TagenWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 2 TagenSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
TAPI auf einem Win2016Server installieren und einrichten
Frage von wstabelTK-Netze & Geräte26 Kommentare

Hallo liebe Admins, ich habe folgende Situation: 1 Windows Server 2016 Standard als DC 1 SNOM 710 IP-Telefon 1 ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell24 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Verschlüsselung & Zertifikate
Netzwerkfreigabe Verschlüsselung
Frage von grill-itVerschlüsselung & Zertifikate20 Kommentare

Moin zusammen, sicher nutzen hier die ein oder anderen ein Produkt zur Verschlüsselung von Netzwerkfreigaben/-laufwerken auf denen hochsensible Daten ...

Microsoft
Übertragung von MS Volumenlizenzen
Frage von SherlockineMicrosoft19 Kommentare

Ich bin Angestellte in einer kleinen 10-köpfigen IT-Firma, die Netzwerklösungen, Telefonielösungen und Ähnliches anbietet. Im Sommer hatten wir einen ...