*.ini-Datei über Makro in Calc einlesen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

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

Beitrag von komma4 »

Hallo Uschi,


welche OOo Version, welches Betriebssystem?

Was verstehst Du unter einer INI-Datei? Welches Format? Warum möchtest Du diese in CALC einlesen ... was willst Du damit machen?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Hömmelmann
****
Beiträge: 119
Registriert: Di, 28.11.2006 19:44
Wohnort: Meppen

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

Beitrag von Hömmelmann »

Hallo,

versuchs doch mal damit:

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

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

'open "c:\Daten\Muell\Ascd_tmp.ini" for input as #1
Open aFile 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
Msgbox sMsg
end sub


Gruß, Friedhelm
Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

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

Beitrag von Uschi »

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
Hömmelmann
****
Beiträge: 119
Registriert: Di, 28.11.2006 19:44
Wohnort: Meppen

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

Beitrag von Hömmelmann »

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
Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

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

Beitrag von Uschi »

Bist ein Schatz Friedhelm!!!

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

Uschi
Hömmelmann
****
Beiträge: 119
Registriert: Di, 28.11.2006 19:44
Wohnort: Meppen

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

Beitrag von Hömmelmann »

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

einlesen und beliebig weiter nutzen.


Friedhelm
Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

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

Beitrag von Uschi »

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

Uschi
Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

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

Beitrag von Uschi »

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

Uschi
Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

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

Beitrag von Uschi »

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

Uschi
Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

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

Beitrag von Uschi »

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

Eure Uschi
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

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

Beitrag von komma4 »

???
Redest Du nun von Listboxen? Die sind einspaltig ...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

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

Beitrag von Uschi »

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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

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

Beitrag von komma4 »

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?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

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

Beitrag von Uschi »

Also so richtig komme ich damit ne klar, wenn ich das ausführen will, dann passiert gar nix... :(
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

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

Beitrag von komma4 »

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...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten