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 Leere Zeile

Mitglied: charmeur

charmeur (Level 1) - Jetzt verbinden

07.08.2011, aktualisiert 02:43 Uhr, 3413 Aufrufe, 11 Kommentare, 1 Danke

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


01.
Option Explicit 
02.
on error resume next 
03.
Dim oXL 
04.
Dim arrLines 
05.
Dim WshShell 
06.
Dim iReturn 
07.
Dim sMessage, sTitel, sTitel1 
08.
 
09.
arrLines = DownloadArray("http://tspo...../media/hs/hh/1.txt") 
10.
 
11.
If VarType(arrLines) <> vbEmpty Then 
12.
 
13.
 'Fenstertitel erstes fenster 
14.
  sTitel = arrLines(2) 
15.
  sTitel1 = arrLines(4) 
16.
 
17.
If not arrLines(3) = "" Then 
18.
    sMessage = "Hallo " & arrLines(0) & "INFOS!!!" & vbNewLine & vbNewLine & "bezahlt bis --> " & arrLines(1) & "         Stand --> " & arrLines(7) & vbNewLine & "  dabei seit --> " & arrLines(9) & vbNewLine & arrLines(10) 
19.
    Set WshShell = CreateObject("WScript.Shell") 
20.
    iReturn = WshShell.Popup(sMessage, arrLines(8), sTitel, vbInformation) 
21.
  End If 
22.
 
23.
  Select Case iReturn 
24.
    Case -1 
25.
      sMessage = arrLines(0) 
26.
  End select 
27.
   
28.
 
29.
  If not arrLines(5) = "" Then 
30.
  iReturn = WshShell.Popup(arrLines(5), 0, sTitel1, vbInformation) 
31.
  End If 
32.
 
33.
 
34.
   
35.
If not arrLines(6) = "6 -" Then 
36.
  WshShell.Run arrLines(6) 
37.
  End If 
38.
 
39.
End If 
40.
Public Function DownloadArray(ByVal URL) 'As String 
41.
  Dim WebReq 'As MsXml2.XmlHttp 
42.
  Dim FSO 'As Scripting.FileSystemObject 
43.
  Set WebReq = CreateObject("WinHttp.WinHttpRequest.5.1") 
44.
  Set FSO = CreateObject("Scripting.FileSystemObject") 
45.
  WebReq.Open "get", URL, False 
46.
  WebReq.Send 
47.
  DownloadArray = Split(WebReq.ResponseText, vbLf) 
48.
End Function 
49.
 
50.
 
51.
 
52.
 
Mitglied: Centauri
07.08.2011 um 09:56 Uhr
Hallo Charmeur,

Ich vermute, dass deine Zeilen nicht ganz leer sind. versuche mal mit Trim eventuelle Leerzeichen zu entfernen.

Für Meldefenster nehme ich immer Msgbox("Test","Titel",vbyesno)

Du kannst das Ergebnis gegen vbyes oder vbno prüfen.

Tschüss

Centauri
Bitte warten ..
Mitglied: 76109
07.08.2011 um 10:09 Uhr
Hallo charmeur!

Ist das ein VBS- oder VBA-Code?

Beispiel für Ja/Nein/Nothing:
01.
Set WshShell = CreateObject("WScript.Shell") 
02.
     
03.
Select Case WshShell.PopUp("Message", 3, "Titel", vbInformation Or vbYesNo) 
04.
    Case vbNo 
05.
        'Nein 
06.
    Case vbYes 
07.
        'Ja 
08.
    Case Else 
09.
        'Zeit abgelaufen 
10.
End Select
Und anstelle von
If VarType(arrLines) <> vbEmpty Then
kannst Du auch
If IsArray(arrLines) Then
schreiben

Gruß Dieter
Bitte warten ..
Mitglied: charmeur
07.08.2011 um 15:35 Uhr
Zitat von 76109:
Hallo charmeur!

Ist das ein VBS- oder VBA-Code?

Beispiel für Ja/Nein/Nothing:
01.
> Set WshShell = CreateObject("WScript.Shell") 
02.
>      
03.
> Select Case WshShell.PopUp("Message", 3, "Titel", vbInformation Or vbYesNo) 
04.
>     Case vbNo 
05.
>         'Nein 
06.
>     Case vbYes 
07.
>         'Ja 
08.
>     Case Else 
09.
>         'Zeit abgelaufen 
10.
> End Select 
11.
> 
Und anstelle von
If VarType(arrLines) <> vbEmpty Then
kannst Du auch
If IsArray(arrLines) Then
schreiben

Gruß Dieter


Hallo Dieter
das sollte ein VBS code sein, aber so 100%ig ist der sicher nicht, da ich mich eigentlich nicht wirklich mit vbs auskenne
sind sicher auch vba komponenten drinne
Bitte warten ..
Mitglied: charmeur
07.08.2011 um 16:46 Uhr
Zitat von Centauri:
Hallo Charmeur,

Ich vermute, dass deine Zeilen nicht ganz leer sind. versuche mal mit Trim eventuelle Leerzeichen zu entfernen.

Für Meldefenster nehme ich immer Msgbox("Test","Titel",vbyesno)

Du kannst das Ergebnis gegen vbyes oder vbno prüfen.

Tschüss

Centauri


Hallo Centauri
also die linie in der TXT sind leer trotzdem kommt dann das msgbox und ist eben leer
Bitte warten ..
Mitglied: rubberman
07.08.2011 um 17:38 Uhr
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
If VarType(arrLines) <> vbEmpty Then
kanns du dann genauso vergessen, wie die von Dieter vorgeschlagene Version
If IsArray(arrLines) Then
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
If arrLines(0) = "" Then
und mit dieser Bedingung den weiteren Ablauf abbrechen.

Grüße
rubberman
Bitte warten ..
Mitglied: charmeur
07.08.2011 um 18:28 Uhr
Zitat von rubberman:
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
If VarType(arrLines) <> vbEmpty Then
kanns du dann genauso vergessen, wie die von Dieter vorgeschlagene Version
If IsArray(arrLines) Then
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
If arrLines(0) = "" Then
und mit dieser Bedingung den weiteren Ablauf abbrechen.

Grüße
rubberman

Hallo rubberman
also irgend wie funktioniert das nicht bei mir
in meiner txt datei ist in der zeile 5 nichts drinne dann müsste doch mit der option
01.
If arrLines(0) = "" Then 
02.
end if
der befehl übersprungen werden oder?

also der hindergrund ist dieser das wenn in der txt datei die zeile 5 leer ist soll die msgbox gar nicht erst aufgemacht werden dies wollte ich eben mit der oberen option machen

01.
If arrLines(5) = "" Then 
02.
 
03.
'zweitest Fenster 
04.
iReturn = WshShell.Popup(arrLines(5), arrLines(8), arrLines(4), vbInformation) 
05.
End If
Bitte warten ..
Mitglied: bastla
07.08.2011 um 18:38 Uhr
Hallo charmeur!

Die Zeile 5 steht in "arrLines(4)" ...

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
07.08.2011 um 18:51 Uhr
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 ...
  DownloadArray = Split(WebReq.ResponseText, vbCrLf)
... in der Funktion noch irgendwas tut.

Grüße
rubberman
Bitte warten ..
Mitglied: charmeur
07.08.2011 um 18:52 Uhr
Zitat von bastla:
Hallo charmeur!

Die Zeile 5 steht in "arrLines(4)" ...

Grüße
bastla

ok überredet aber das ergebnis ist das gleiche
Bitte warten ..
Mitglied: bastla
07.08.2011 um 19:46 Uhr
Hallo charmeur!

Dann lade die Datei mit dem folgenden Script einmal herunter und speichere sie damit lokal:
01.
URL = "http://tspo...../media/hs/hh/1.txt" 
02.
Set WebReq = CreateObject("WinHttp.WinHttpRequest.5.1") 
03.
Set FSO = CreateObject("Scripting.FileSystemObject") 
04.
WebReq.Open "get", URL, False 
05.
WebReq.Send 
06.
fso.CreateTextFile("D:\1.txt").Write WebReq.ResponseText
- dann kannst Du sie mit einem Hex-Editor genauer untersuchen (auch hinsichtlich der Zeilenschaltungen) ...

Grüße
bastla
Bitte warten ..
Mitglied: charmeur
08.08.2011 um 01:03 Uhr
ok hat funktioniert danke an alle
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Excel 2013 - farbig formatierte Zeilen werden nicht als leere Zeilen deklariert

Frage von BigMike55VB for Applications3 Kommentare

Hallo, ich habe mir das folgende Makro geschrieben, das funktiert auch wunderbar - bis auf einen "Schönheitsfehler". Per Clickbutton ...

Microsoft Office

Excel: viele leere Zeilen zwischendurch - effizient löschen?

gelöst Frage von nepixlMicrosoft Office9 Kommentare

Guten Morgen werte Admincommunity, ACHTUNG. ggf. Freitagsfrage: habe eine Excelliste bekommen mit ca. 10k Datensätzen: aufgebaut nach folgendem Schema: ...

Batch & Shell

Poweshell Script soll String ersetzen und die leere Zeile löschen

gelöst Frage von Mars123Batch & Shell4 Kommentare

Guten Tag, ich habe heute an einem Script gearbeitet, dass rekursiv mehrere Dateien nach einem String durchsucht und diesen ...

Microsoft Office

Word2010: Serienbrief Zeile bei leeren Feld überspringen innerhalb einer Tabelle

Frage von dafdagMicrosoft Office1 Kommentar

Hallo zusammen, ich habe ein Word2010 Serienbrief das mit einer Excel Datenquelle verknüpft ist. Sobald ein leeren Datensatz vorkommt ...

Neue Wissensbeiträge
Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 2 TagenSonstige Systeme5 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Datenschutz

Microsoft und DSGVO - ob das wohl jemals klappt (Probleme beim Datenabfluss für Office Pro Plus)?

Tipp von VGem-e vor 2 TagenDatenschutz3 Kommentare

Servus Kollegen, siehe Aber wer setzt schon MS Office Pro Plus ein? Wie dann der Stand beim "normalen" MS ...

Windows 10

Macht Windows 10.1809 Probleme mit gemappten Netzlaufwerken (betrifft wohl insbes. AMD-Hardware und Trend Micro AV-Produkte)?

Tipp von VGem-e vor 2 TagenWindows 103 Kommentare

Moin Kollegen, grad dazu gefunden und Hatten wir dies nicht bei früheren W10-Upgrades ebenfalls? Da bleibt nur, das Upgrade ...

Humor (lol)

Das neue Miniatur Wunderland OFFICIAL VIDEO - worlds largest model railway - railroad

Information von StefanKittel vor 3 TagenHumor (lol)2 Kommentare

Hallo, wer noch nie im Miniatur Wunderland war, sollte es dringend mal nachholen. Es gibt eine neues Video. Viele ...

Heiß diskutierte Inhalte
Microsoft
Schulungs-Microsoft-Konten zentral verwalten
Frage von thejarneMicrosoft9 Kommentare

Hallo zusammen, wir haben bei uns in der Firma 12 Computer-Arbeitsplätze für EDV-Schulungen, wo u.A. auch Computer-Basics-Kurse (wie verwende ...

Netzwerke
Docusnap - Docusnap Web
Frage von Xaero1982Netzwerke8 Kommentare

Moin Zusammen, kennt sich hier jemand mit Docusnap aus? Irgendwie werden mir diverse Sachen die ich in Docusnap inventarisiert ...

Windows Server
Cisco Annyconnect Secure Mobility Client - Windows2003 Server unable to connect
Frage von novregenWindows Server8 Kommentare

Von einem Windows 2003 Server soll eine Verbindung über Cisco Anyconnect Mobility Client zu einer Gegenstelle aufgebaut werden. Die ...

Windows 10
TeamViewer bzw. AnyDesk - Schwarzes Fenster
Frage von Questionmark93Windows 108 Kommentare

Hallo, hat schon jemand Erfahrung gemacht mit Teamviewer und Anydesk? Mir zeigt es bei einem Bekannten ein schwarzes Fenster ...