Leere Zeile
Hallo ihr
ich habe noch mal eine frage, und zwar im folgenden code wird eine txt datei ausgelesen und in einer msgbox widergegeben
doch leider erscheint die msgbox auch wenn nichts in der zeile steht wie kann ich das unterbinden?
und noch eine glizekleine frage
wie bekomme ich es hin, das ich eine msgbox mit zwei button (ja/nein) habe, die jenachdem was gdrückt wird verschiedene ausführungen tätigen
ich habe noch mal eine frage, und zwar im folgenden code wird eine txt datei ausgelesen und in einer msgbox widergegeben
doch leider erscheint die msgbox auch wenn nichts in der zeile steht wie kann ich das unterbinden?
und noch eine glizekleine frage
wie bekomme ich es hin, das ich eine msgbox mit zwei button (ja/nein) habe, die jenachdem was gdrückt wird verschiedene ausführungen tätigen
Option Explicit
on error resume next
Dim oXL
Dim arrLines
Dim WshShell
Dim iReturn
Dim sMessage, sTitel, sTitel1
arrLines = DownloadArray("http://tspo...../media/hs/hh/1.txt")
If VarType(arrLines) <> vbEmpty Then
'Fenstertitel erstes fenster
sTitel = arrLines(2)
sTitel1 = arrLines(4)
If not arrLines(3) = "" Then
sMessage = "Hallo " & arrLines(0) & "INFOS!!!" & vbNewLine & vbNewLine & "bezahlt bis --> " & arrLines(1) & " Stand --> " & arrLines(7) & vbNewLine & " dabei seit --> " & arrLines(9) & vbNewLine & arrLines(10)
Set WshShell = CreateObject("WScript.Shell")
iReturn = WshShell.Popup(sMessage, arrLines(8), sTitel, vbInformation)
End If
Select Case iReturn
Case -1
sMessage = arrLines(0)
End select
If not arrLines(5) = "" Then
iReturn = WshShell.Popup(arrLines(5), 0, sTitel1, vbInformation)
End If
If not arrLines(6) = "6 -" Then
WshShell.Run arrLines(6)
End If
End If
Public Function DownloadArray(ByVal URL) 'As String
Dim WebReq 'As MsXml2.XmlHttp
Dim FSO 'As Scripting.FileSystemObject
Set WebReq = CreateObject("WinHttp.WinHttpRequest.5.1")
Set FSO = CreateObject("Scripting.FileSystemObject")
WebReq.Open "get", URL, False
WebReq.Send
DownloadArray = Split(WebReq.ResponseText, vbLf)
End Function
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 171049
Url: https://administrator.de/forum/leere-zeile-171049.html
Ausgedruckt am: 24.12.2024 um 00:12 Uhr
11 Kommentare
Neuester Kommentar
Hallo charmeur!
Ist das ein VBS- oder VBA-Code?
Beispiel für Ja/Nein/Nothing:
Und anstelle von
kannst Du auch
schreiben
Gruß Dieter
Ist das ein VBS- oder VBA-Code?
Beispiel für Ja/Nein/Nothing:
Set WshShell = CreateObject("WScript.Shell")
Select Case WshShell.PopUp("Message", 3, "Titel", vbInformation Or vbYesNo)
Case vbNo
'Nein
Case vbYes
'Ja
Case Else
'Zeit abgelaufen
End Select
Und anstelle von
If VarType(arrLines) <> vbEmpty Then |
If IsArray(arrLines) Then |
Gruß Dieter
Hallo charmeur.
In der Funktion "DownloadArray" wird ein Array erzeugt, in dem der Inhalt der Datei an Zeilenumbrüchen aufgesplittet wird.
Sollte in deiner Textdatei ein Zeilenumbruch vorhanden sein, dann ist die Datei schon nicht mehr leer und das Array wird angelegt. Das Array hat dann ein Element mit einer leeren Zeichenfolge. Die Abfrage
kanns du dann genauso vergessen, wie die von Dieter vorgeschlagene Version
Diese Zeile prüft letztlich nur, ob die Funktion was geliefert hat.
Du kannst also nur zusätzlich prüfen, ob das erste Element eine leere Zeichenfolge enthält, á la
und mit dieser Bedingung den weiteren Ablauf abbrechen.
Grüße
rubberman
In der Funktion "DownloadArray" wird ein Array erzeugt, in dem der Inhalt der Datei an Zeilenumbrüchen aufgesplittet wird.
Sollte in deiner Textdatei ein Zeilenumbruch vorhanden sein, dann ist die Datei schon nicht mehr leer und das Array wird angelegt. Das Array hat dann ein Element mit einer leeren Zeichenfolge. Die Abfrage
If VarType(arrLines) <> vbEmpty Then
If IsArray(arrLines) Then
Du kannst also nur zusätzlich prüfen, ob das erste Element eine leere Zeichenfolge enthält, á la
If arrLines(0) = "" Then
Grüße
rubberman
Hallo bastla,
so ist es.
Ein Unsicherheitsfaktor bleibt aber noch (hatte ich ganz vergessen zu erwähnen). Ich habe mit ein paar Dateien getestet, die mir Google ausgespuckt hat, weil mir hier kein anderes Netzwerk zur Verfügung steht. Bei allen Tests kamen die Zeilenumbrüche nur als Line Feed. Aus dem Grund habe ich vbLf als Separator verwendet. Nun könnte aber unter Umständen ein Carriage Return im Array stehen.
@charmeur
Teste mal, ob sich mit ...
... in der Funktion noch irgendwas tut.
Grüße
rubberman
so ist es.
Ein Unsicherheitsfaktor bleibt aber noch (hatte ich ganz vergessen zu erwähnen). Ich habe mit ein paar Dateien getestet, die mir Google ausgespuckt hat, weil mir hier kein anderes Netzwerk zur Verfügung steht. Bei allen Tests kamen die Zeilenumbrüche nur als Line Feed. Aus dem Grund habe ich vbLf als Separator verwendet. Nun könnte aber unter Umständen ein Carriage Return im Array stehen.
@charmeur
Teste mal, ob sich mit ...
DownloadArray = Split(WebReq.ResponseText, vbCrLf)
Grüße
rubberman
Hallo charmeur!
Dann lade die Datei mit dem folgenden Script einmal herunter und speichere sie damit lokal:
- dann kannst Du sie mit einem Hex-Editor genauer untersuchen (auch hinsichtlich der Zeilenschaltungen) ...
Grüße
bastla
Dann lade die Datei mit dem folgenden Script einmal herunter und speichere sie damit lokal:
URL = "http://tspo...../media/hs/hh/1.txt"
Set WebReq = CreateObject("WinHttp.WinHttpRequest.5.1")
Set FSO = CreateObject("Scripting.FileSystemObject")
WebReq.Open "get", URL, False
WebReq.Send
fso.CreateTextFile("D:\1.txt").Write WebReq.ResponseText
Grüße
bastla