Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1312to1316
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textdatei auf Server auslesen

Textdatei auf Server auslesen
20.05.2013 15:44:39
Henner
Hallo zusammen,
ich würde gerne den Inhalt einer Textdatei auf meinem Server auslesen und in Zelle A1 einfügen lassen. Prüfen ob die Datei existiert mache ich so:

Public Function GetLinkStatus(ByVal strUrl As String) As Boolean
Dim objXMLHTTP As Object
If Not Left$(strUrl, 7) = "http://" Then strUrl = "http://" & strUrl
Set objXMLHTTP = CreateObject("Msxml2.XMLHTTP")
On Error Resume Next
objXMLHTTP.Open "GET", strUrl, False
objXMLHTTP.Send
GetLinkStatus = objXMLHTTP.Status = 200
Set objXMLHTTP = Nothing
On Error GoTo 0
End Function
Public Sub Test()
If GetLinkStatus("http://www.domain.com/text.txt") Then
Call Makro1
Else
Cancel = True
End If
Wie liesse sich der Inhalt dieser Textdatei in die Zelle A1 schreiben?
Danke & Gruss

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textdatei auf Server auslesen
20.05.2013 16:12:41
ing.grohn
Haller Henner,
vielleicht hilft:

Public Sub Test()
If GetLinkStatus("http://www.domain.com/text.txt") Then
Call Textdatei_Lesen ("http://www.domain.com/text.txt")
Else
Cancel = True
End If
End Sub
Sub Textdatei_lesen(txDatei as string)
Dim txText As String
Dim gText As String
'txDatei = "C:\TestVerz\TestDatei.txt" 'anpassen
Open txDatei For Input As #1
Do While Not EOF(1)
Line Input #1, txText
gText = gText & txText & vbLf
Loop
Close #1
Range("A1").Value = gText
End Sub

Mit freundlichen Grüßen
Albrecht

AW: Textdatei auf Server auslesen
20.05.2013 16:26:16
Henner
Hallo Albrecht,
danke für Deine Antwort. Funktioniert leider nicht.
Greets Henner

Anzeige
Textdatei auf Server auslesen
20.05.2013 18:03:20
Anton
Hallo Henner,
ungetestet:
Code:

Public Sub Test()  
  Dim objXMLHTTP As Object  
  Set objXMLHTTP = CreateObject("Msxml2.XMLHTTP")  
  objXMLHTTP.Open "GET", "http://www.domain.com/text.txt", False  
  objXMLHTTP.Send
  If objXMLHTTP.Status = 200 Then  
    Range("A1") = objXMLHTTP.ResponseText
  End If  
  Set objXMLHTTP = Nothing  
End Sub  


mfg Anton

Anzeige
AW: Textdatei auf Server auslesen (DANKE!)
20.05.2013 19:18:55
Henner
Danke Anton, funktioniert! Schönen Abend noch

AW: Textdatei auf Server auslesen (DANKE!)
20.05.2013 19:31:57
Henner
Eine Frage hätte ich allerdings noch ;-)
Wenn diese Textdatei einmal ausgelesen in in A1 geschrieben wurde, schreibt Excel beim nächsten Ausführen des Makros wieder den gleichen Wert in A1. Dies unabhängig davon, ob sich der Wert geändert hat oder die Textdatei auch garnicht mehr existiert..
Ich gehe davon aus, dass der Wert noch irgendwie im Chache geschrieben steht, lässt sich der Chache vor der Abfrage löschen damit auch wirklich der aktuelle Inhalt gelesen wird?
Danke & Gruss

Textdatei auf Server auslesen
20.05.2013 19:53:50
Anton
Hallo Henner,
so?:
Code:

Private Declare Function DeleteUrlCacheEntry Lib "wininet.dll" _  
  Alias "DeleteUrlCacheEntryA" ( _
  ByVal lpszUrlName As String) As Long    
Public Sub Test()  
  Dim objXMLHTTP As Object, sURL As String    
  sURL = "http://www.domain.com/text.txt"
  DeleteUrlCacheEntry sURL
  Set objXMLHTTP = CreateObject("Msxml2.XMLHTTP")  
  objXMLHTTP.Open "GET", sURL, False  
  objXMLHTTP.Send
  If objXMLHTTP.Status = 200 Then  
    Range("A1") = objXMLHTTP.ResponseText
  End If  
  Set objXMLHTTP = Nothing  
End Sub  


mfg Anton

Anzeige
AW: Textdatei auf Server auslesen
20.05.2013 20:02:40
Henner
Hallo Anton,
ich scheine hier einen Profi erwischt zu haben - danke es funktioniert (natürlich).
Wenn man dann anfängt rumzuprobieren, kommen einem immer mehr Ideen :-) Daher noch eine letzte Frage: Wie ist es zu erreichen, dass ich mehrere Zeilen in die TXT schreibe und diesen Zeilen dann auch so in das Tabellenblatt geschrieben werden? (1.Zeile = A1, 2.Zeile = A2, 3.Zeile = A3,...)
Nochmals vielen vielen Dank! Gruss Henner

AW: Textdatei auf Server auslesen
20.05.2013 20:13:06
Anton
Hallo Hnner,
wenn ich dich richtig verstanden habe, dann so vllt:
Code:

Private Declare Function DeleteUrlCacheEntry Lib "wininet.dll" _  
  Alias "DeleteUrlCacheEntryA" ( _
  ByVal lpszUrlName As String) As Long    
Public Sub Test()  
  Dim objXMLHTTP As Object, sURL As String    
  Dim zeile As Long, strZeile  
  sURL = "http://www.domain.com/text.txt"
  DeleteUrlCacheEntry sURL
  Set objXMLHTTP = CreateObject("Msxml2.XMLHTTP")  
  objXMLHTTP.Open "GET", sURL, False  
  objXMLHTTP.Send
  If objXMLHTTP.Status = 200 Then  
    zeile = 1
    For Each strZeile In Split(objXMLHTTP.ResponseText, vbCrLf)  
      Cells(zeile, 1) = strZeile
      zeile = zeile + 1
    Next
  End If  
  Set objXMLHTTP = Nothing  
End Sub  


mfg Anton

Anzeige
AW: Textdatei auf Server auslesen
20.05.2013 20:19:26
Henner
Hallo Anton,
super - vielen vielen vielen Dank!! Ich höre jetzt auf Dich zu löchern, für den Moment bin ich um ein Vielfaches weiter als ich es heute erwartet hätte.
In der Hoffnung Dich hier in Zukunft nochmals antreffen zu dürfen viele Grüsse und nochmal: Danke!
Henner

Hallo Henner, sorry für Tippfehler. oT
20.05.2013 20:19:54
Anton

Wenn's mehr nicht ist :o) (oT)
20.05.2013 20:26:47
Henner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige