*.ini-Datei über Makro in Calc einlesen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: *.ini-Datei über Makro in Calc einlesen

Re: *.ini-Datei über Makro in Calc einlesen

von komma4 » Do, 06.08.2009 13:32

Du meinst, es wird immer in die erste Zeile geschrieben....

Code: Alles auswählen

Sub inilesen

Dim sFile As String
Dim iNumber As Integer
Dim sZeile As String
Dim iZeile as integer
Dim sSpalte as string

Dim iSpalte as Integer
Dim aStrings()

sFile = "c:\Dateiname.ini"
iNumber = Freefile

Open sFile For Input As iNumber

While NOT  eof(iNumber)
Line Input #iNumber, sZeile
iZeile = iZeile + 1

If Instr( sZeile, " " ) Then
   aStrings = SPLIT( sZeile, " ")
   For i=LBound ( aStrings ) to UBound ( aStrings )
      Dia.getCellbyPosition( i , iZeile ).String =  aStrings( i )
   Next i
Else
   Dia.getcellbyposition( 0 , iZeile ).string = sZeile
End If

Wend
close #iNumber
End Sub
Anmerkung:

Variablen, die Zeichenketten (string) enthalten, werden mit einem s gekennzeichnet; Zahlen (integer) mit i; bei Arrays wird a genutzt

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Do, 06.08.2009 11:34

Also ich habs jetzt hinbekommen, so dass es einwandfrei funktioniert. :D :D :D :D :D :D :D :D :D
Ihr könnt ja mal drüberschauen, ob es eventuelle Verbessungsvorschläge gibt.

Sub inilesen
Dim aFile As String
Dim iNumber As Integer
Dim sZeile As String
Dim Zeile as integer
Dim sSpalte as string
Dim Spalte as integer
Dim astrings()
aFile = "c:\Dateiname.ini"
iNumber = Freefile
Open aFile For Input As iNumber
While not eof(iNumber)
Line Input #iNumber, sZeile

For k=0 to 1
If Instr(sZeile, " ") then
astrings=SPLIT(sZeile, " ")

For i=LBound (astrings) to UBound (astrings)
sSpalte = astrings(i)
Spalte=i
Dia.getCellbyPosition(Spalte,Zeile).string=sSpalte
Next i
Else
Dia.getCellbyPosition(0,Zeile).string=sZeile
End If
Zeile=Zeile+k
Next k
wend
close #iNumber
End Sub

Re: *.ini-Datei über Makro in Calc einlesen

von komma4 » Do, 06.08.2009 10:21

Ist ein BEISPIEL.


Damit kannst Du eine Zeichenkette ( eine eingelesene Zeile ) aufteilen - bzw. die Spaltenposition bestimmen.

Den Code musst Du mit Friedhelms "verheiraten" ... ich muss aktuell hier mal was arbeiten...

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Do, 06.08.2009 10:12

Also so richtig komme ich damit ne klar, wenn ich das ausführen will, dann passiert gar nix... :(

Re: *.ini-Datei über Makro in Calc einlesen

von komma4 » Do, 06.08.2009 10:02

Die Zeilensteuerung hast Du von Friedhelm übernommen ...

Der Befehl, um eine Zeichenkette aufzuteilen, heisst SPLIT(Online-Hilfe!).
Im folgenden Beispiel wird iSpalte gesetzt, um einen Spaltenzähler zu haben.

Code: Alles auswählen

Sub de26284

DIM aStrings()

sString = "Anton Berta Cäsar"

If Instr(1, sString, " " ) Then
	aStrings =  SPLIT( sString, " " ) 
	For i = LBound( aStrings ) To UBound( aStrings ) 
		ergebnis = aStrings( i )
		iSpalte = i
		' fuellen in Spalte je nach Zaehler
	Next i 
Else
	' nur ein Wort
	ergebnis = sString
	iSpalte = 0 
	' fuellen in Spalte 0
End If
End Sub
Kommst Du damit zurecht?

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Do, 06.08.2009 09:42

Guten morgen Komma 4,
ich würde gerne über eine Listbox verschiedene Ini-Dateien(oder auch txt-Dateien) auswählen können.
Wenn diese ausgewählt wurden, sollen die Daten aus ihr in die Zeilen und Spalten eingetragen werden.
Bekomme das aber nicht hin :(

Steht z. B. in der Datei:

Uschi Komma4
Dieter


Dann soll Uschi in A1, Komma4 in B1 und Dieter in A2 eingetragen werden.

Verstehst du auf was ich hinaus will und kannst mir helfen???

Uschi

Re: *.ini-Datei über Makro in Calc einlesen

von komma4 » Do, 06.08.2009 09:34

???
Redest Du nun von Listboxen? Die sind einspaltig ...

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Do, 06.08.2009 08:39

Guten morgen allerseits...
kann mir keiner von euch helfen??? :( :( :( :(

Eure Uschi

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Mi, 05.08.2009 13:23

Hey an alle,
kann mir einer von euch sagen, wie ich meine *.ini-Datei auf mehrere Spalten verteilen kann?

Uschi

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Mi, 05.08.2009 11:45

Könnte man die Lösung auch für eine ListBox erweitern?

Uschi

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Mi, 05.08.2009 11:43

Danke...du hast mir sehr weitergeholfen!!!

Uschi

Re: *.ini-Datei über Makro in Calc einlesen

von Hömmelmann » Mi, 05.08.2009 11:38

ja, die Daten kannst du mit
...
Variable=t1.getcellbyposition(spalte,zeile).string
...

einlesen und beliebig weiter nutzen.


Friedhelm

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Mi, 05.08.2009 11:23

Bist ein Schatz Friedhelm!!!

Kann ich die Daten, die jetzt erfolgreich in der Arbeitsmappe abgebildet sind, über set/getstring in den Dialog übernehmen???

Uschi

Re: *.ini-Datei über Makro in Calc einlesen

von Hömmelmann » Mi, 05.08.2009 11:18

Hallo Uschi,

so müsste auch das gehen:

sub inilesen

Dim aFile As String
Dim sMsg as String
Dim iNumber As Integer
Dim sZeile As String

dim zeile as integer

doc=thiscomponent
t1=doc.sheets(0)

aFile = "c:\Pfadangabe\Dateiname.ini"
iNumber = Freefile

Open aFile For Input As iNumber
While not eof(iNumber)
Line Input #iNumber, sZeile
If sZeile <>"" then
zeile=zeile + 1
t1.getcellbyposition(0,zeile).string=sZeile
'sMsg = sMsg & sZeile & chr(13)
end if
wend
Close #iNumber
'Msgbox sMsg
end sub

Gruß, Friedhelm

Re: *.ini-Datei über Makro in Calc einlesen

von Uschi » Mi, 05.08.2009 11:11

Hab es mittlerweile auch geschafft mich hier anzumelden.
Danke Friedhelm.

Das klappt soweit, aber ich würde gerne die Daten in z.B. Textfelder übertragen und in meine Mappe einlesen lassen.
Wie mache ich das? Bitte helft mir auf die Sprünge

Eure Uschi

Nach oben