Seite 1 von 1

Calc: Daten aus externer Datei einlesen

Verfasst: So, 26.06.2011 19:50
von rici35
Hi,

ich möchte den gesamten Inhalt einer Datei in ein Feld einlesen, zum Beispiel, die Datei
1.txt in a1
2.txt in a2
...

wie bekommt man so was hin??

Viele Grüße

Rici



Moderation,4: verschoben in BASIC-Unterbereich; Betreff angepasst

Re: Daten aus externer Datei einlesen

Verfasst: So, 26.06.2011 20:58
von F3K Total
Hallo,
mit einem Makro, das

1. die Datei 1.txt lädt
2. den enthaltenen Text (kleiner als 65000 Zeichen) einem String zuordnet.
3. das entsprechende Feld in Calc findet
4. dem Feld den String zuordnet

Gruß R

Re: Daten aus externer Datei einlesen

Verfasst: So, 26.06.2011 21:12
von rici35
Hi,

danke für die schnelle Antwort.

Hmm... da bin ich überfordert.

Ich habe mal die Dateien und die Tabelle angehängt.

Könnte mir da jemand helfen??

Ich schaffe das glaub ich nicht.

Vielen Dank und viele Grüße

Rici

Re: Daten aus externer Datei einlesen

Verfasst: Mo, 27.06.2011 06:55
von komma4
Willkommen im Forum
rici35 hat geschrieben:Ich schaffe das glaub ich nicht.
Nicht gleich verzweifeln.

Hatte gerade ein paar Minuten Zeit... kleine Fingerübung zum Frühstück 8)


Code: Alles auswählen

Dim sPfad as String
Dim sPfadTrenner as String

Sub de49091
' 2011-06-27

' Vorbereitung
' ---------------------------------------
' plattform-spezifischer Pfadtrenner
sPfadTrenner = getPathSeparator()

' Hilfsbibliothek
If NOT GlobalScope.BasicLibraries.isLibraryLoaded( "Tools" ) Then
	GlobalScope.BasicLibraries.loadLibrary( "Tools" ) 
End if
' Pfad aller Dateien aus Dateinamen der ODS
sPfad = DirectoryNameoutofPath( ThisComponent.getURL , sPfadTrenner )


iSpalte = 0  'Spaltenindex A
iZeile = 1   'Index der Startzeile 2

' Name des Blatts zum Arbeiten
sBlatt = "Sheet1"
' Objekt des Tabellenblatts
oBlatt = ThisComponent.Sheets().getByName( sBlatt )

' ersten Inhalt holen
sTestinhalt = oBlatt.getCellByPosition( iSpalte, iZeile ).getString()


' ---------------------------------------
' Schleife, solange Inhalt
While NOT ( Len( sTestinhalt ) = 0 )

   ' Objekt Ziel
   oZielZelle = oBlatt.getCellByPosition( iSpalte + 1 , iZeile )

   'Funktion zum Setzen des Dateiinhaltes
   oZielZelle.setString( getTextDateiInhalt( sTestinhalt ) )
   
   ' nächste Zeile
   iZeile = iZeile + 1
   ' Inhalt der nächsten Zeile
   sTestinhalt = oBlatt.getCellByPosition( iSpalte, iZeile ).getString()

Wend

End Sub 

' ---------------------------------------
Function getTextDateiInhalt( sName as String ) as String

sInhaltsDatei = sPfad & sPfadTrenner &sName & ".txt"
If FileExists( sInhaltsDatei ) Then

' ---------------------------------------
' Textdatei lesen - aus der F1 Hilfe
iNumber = Freefile
Open sInhaltsDatei For Input As #iNumber
While not eof(#iNumber)
Line Input #iNumber, sZeile
If sZeile <>"" then
sMsg = sMsg & sZeile & chr(13)
end if
wend
Close #iNumber
' ---------------------------------------

   getTextDateiInhalt = sMsg
Else
   getTextDateiInhalt = "*** Datei nicht gefunden ***"
End If

End Function

Kommst Du damit zurecht?

Re: Calc: Daten aus externer Datei einlesen

Verfasst: Di, 28.06.2011 17:16
von rici35
Hi Winfried,

vielen Dank,

das ist ja der Hammer..... Dachte, die Programmierer die hocken bis tief in die Nacht am PC....

Und du antwortest um 05:55...

ich werde mal gleich sehen ob ich es hinbekomme.

Gruß

Rici

Re: Calc: Daten aus externer Datei einlesen

Verfasst: Di, 28.06.2011 20:07
von komma4
rici35 hat geschrieben:Und du antwortest um 05:55...
Deine Zeit... ich lebe in Thailand :D

Hat es geklappt?

Re: Calc: Daten aus externer Datei einlesen

Verfasst: Mi, 29.06.2011 17:28
von rici35
Hi Winfried,

sorry,

ich schaffe das nicht...

Ich habe zu wenig Ahnung von solchen Makros.

Ich programmiere zwar auch ab und zu, aber in autoit.....

Viele Grüße

Rici

Re: Calc: Daten aus externer Datei einlesen

Verfasst: Mi, 29.06.2011 19:47
von komma4
rici35 hat geschrieben:Ich habe zu wenig Ahnung von solchen Makros.
Wo "hängt" es?

Re: Calc: Daten aus externer Datei einlesen

Verfasst: Do, 30.06.2011 18:11
von rici35
Hallo Winfried,

hab mich doof angestellt.

Nun tut es.

Werd noch mit scharfen Daten versuchen.

Aber mir ist aufgefallen, dass dieses Macro nun in OO Calc eingebunden ist.

Wenn ich mit der Datei auf einen anderen Rechner gehe, da funktioniert es nicht mehr.

Wie kann man das in das Document einbinden??

Viele Grüße

Richard

Re: Calc: Daten aus externer Datei einlesen

Verfasst: Do, 30.06.2011 18:41
von komma4
rici35 hat geschrieben:Wie kann man das in das Document einbinden??
Extras>Makros>Makros verwalten>OpenOffice.org Basic>Verwalten und dann das Makromodul mit gedrückter STRG Taste in das Dokument ziehen&fallen lassen