Autor
|
Thema: Textdatei auslesen (1004 mal gelesen)
|
wulfgang Mitglied
Beiträge: 64 Registriert: 29.04.2007 CATIA V5 R18
|
erstellt am: 15. Feb. 2010 13:19 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich fange gerade an mit CATVBA zu programmieren. Ich wollte eine Textdatei zeilenweise auslesen und jede Zeile in einer Messagebox anzeigen lassen. Leider erhalte ich sobald ich die Datei ausgewählt und mir OK bestätigt habe folgende Fehlermeldung: Zitat: Object Variable or with block variable not set
Der Compiler markiert mir die Zeile mit Datei=...... Kann mir jemand sagen wie Code: Sub CATMain()Dim Datei As File Datei = CATIA.FileSelectionBox("Datei auswählen", "*.txt", CatFileSelectionModeOpen) If Datei <> "" Then Dim DStrom As TextStream Set DStrom = Datei.OpenAsTextStream("ForReading") Do While Not (DStrom.AtEndOfStream) Dim Zeile As String Zeile = DStrom.ReadLine MsgBox (Zeile) Loop End If
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 15. Feb. 2010 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
Hallo Wulfgang auf den ersten Blick sehe ich nur das du was vergessen hast Code: Sub CATMain()Dim filein As File Dim Datei as string Dim DStrom As TextStream Datei = CATIA.FileSelectionBox("Datei auswählen", "*.txt", CatFileSelectionModeOpen) If Datei <> "" Then Set filesys = CATIA.FileSystem Set FileIn = filesys.GetFile(CStr(Datei)) Set DStrom = Filein.OpenAsTextStream("ForReading") Do While Not (DStrom.AtEndOfStream) Dim Zeile As String Zeile = DStrom.ReadLine MsgBox (Zeile) Loop End If
End Sub
Zur Erklärung, die fileselectionbox gibt dir kein File zurück sondern nur den pfad und Namen der Datei als string.Deshalb solltest du über das Filesystem die Datei einlesen. Grüsse Andy [Diese Nachricht wurde von AndyMF am 15. Feb. 2010 editiert.] [Diese Nachricht wurde von AndyMF am 15. Feb. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wulfgang Mitglied
Beiträge: 64 Registriert: 29.04.2007 CATIA V5 R18
|
erstellt am: 15. Feb. 2010 15:13 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke das war der entscheidene Tipp. Die Bedingung für die while-Schleife musste ich auch noch ändern, da sie sonst nicht abgebrochen wurde. Code: Sub CATMain() Dim filein As File Dim Datei as string Dim DStrom As TextStreamDatei = CATIA.FileSelectionBox("Datei auswählen", "*.txt", CatFileSelectionModeOpen) If Datei <> "" Then Set filesys = CATIA.FileSystem Set FileIn = filesys.GetFile(CStr(Datei)) Set DStrom = Filein.OpenAsTextStream("ForReading") Do While DStrom.AtEndOfStream=False Dim Zeile As String Zeile = DStrom.ReadLine MsgBox (Zeile) Loop End If
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |