ini-Datei auslesen, Variable verwenden

16/12/2008 - 17:25 von Andreas Hess | Report spam
Hallo miteinander,

ich versuche mit nachfolgendem Code aus einer ini-Datei einen EINTRAG
auszulesen, der in der ini-Datei in der Sektion (heißt glaub ich so)
BEREICH abglegt ist.

Die ini-Datei sieht etwa so aus:

ini--
[BEREICH]
EINTRAG01
EINTRAG02
ini--


Der VBA-Code lautet


-VBA--
Declare Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long

Public Sub IniAuslesen01()
Dim InhaltAs String
Inhalt = Space(50)

'1. Ausgabe
MsgBox GetPrivateProfileString("BEREICH", "EINTRAG01", "default-Wert -

nix", Inhalt, 50, _


"\\server\Datei01\Datei02\IniDatei.ini")

'2. Ausgabe
MsgBox ("EINTRAG01 ist: ") & Inhalt

End Sub
-VBA--


In der ersten Ausgabe wird korrekt die Lànge, also die Anzahl der
Zeichen, des abgefragten Wertes ausgegeben.
In der zweiten Ausgabe bekomme ich eine MsgBox angezeigt, in der
steht: "EINTRAG ist: [viele, viele Leerzeichen] "

Ich habe gehofft, das Auslesen aus einer ini-Datei richtig verstanden
zu haben und daß in meiner Variablen Inhalt der String des EINTRAG01
liegt.
Beim ersten Abarbeiten des Codes passte das auch noch

Jetzt also (endlich) die Frage:
Was muss ich an meinem Code àndern, damit ich tatsàchlich den Inhalt
meiner Variablen Inhalt ausgeben kann bzw weiterverarbeiten kann?

Vielen Dank für Eure Antworten schon jetzt!!!

Grüße aus Stuttgart,
Andreas
 

Lesen sie die antworten

#1 Martin Worm
16/12/2008 - 18:52 | Warnen spam
On Tue, 16 Dec 2008 08:25:54 -0800 (PST), Andreas Hess wrote:

hallo,

Jetzt also (endlich) die Frage:
Was muss ich an meinem Code àndern, damit ich tatsàchlich den Inhalt
meiner Variablen Inhalt ausgeben kann bzw weiterverarbeiten kann?

Vielen Dank für Eure Antworten schon jetzt!!!




die Funktion gibt die Anzahl der Zeichen aus, die in den Puffer Inhalt
kopiert wurden. Du mußt den Wert in einer Variablen speichern und mit
Left(Inhalt,Lànge) die überzàhligen Zeichen rauskürzen.

Es geht aber einfacher mit

System.PrivateProfileString(Filename, Section, Key)
(falls die Funktion Servernamen akzeptiert)

Die Hilfe erklàrt es besser.

hth
mit freundlichen Grüßen

Martin Worm
benutze Word 2000 und Win XP

Ähnliche fragen