Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ini-Datei auslesen

Ini-Datei auslesen
04.01.2005 17:51:06
Jens
Liebe Excelianer,
Problem:
Ich lese Daten aus einer ini-Datei mit folgendem sinngemäßen Beispiel aus:

Private Sub CommandButton1_Click()
Dim INIPfad As String
INIPfad = ThisWorkbook.Path & "\userdaten.ini"
MsgBox System.PrivateProfileString(INIPfad, "Userdata", "Wert1") & Chr(13) & _
System.PrivateProfileString(INIPfad, "Userdata", "Wert5") & Chr(13) & _
System.PrivateProfileString(INIPfad, "Userdata", "Wert11") & Chr(13) & _
System.PrivateProfileString(INIPfad, "Userdata", "Wert150") & Chr(13) & _
End Sub

Meine Frage ist, ob die ini-Datei hier bei jedem Eintrag erneut geöffnet wird, oder ob es performantere Wege gibt, SPEZIELLE Einträge aus verschiedenen Sektionen der Ini-Datei auszulesen?
Meine gefundenen Rechercheresultate beziehen sich immer nur auf das Auslesen EINES Wertes.
Herzlichen Dank alle Tipps
Jens H.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ini-Datei auslesen
Ramses
Hallo
ich hoffe du hast die Verweise auf die WORD Library aktiviert,... sonst klappt's nicht mit dem System.PrivateProfileString.
Meines Wissens nach geht das eigentlich nur mit einem vorangestellten Word.Objekt
Dim myWord as Object
Dim myResult as String
Set myWord = CreateObject("Word.Application.10")
myResult = myWord.System.PrivateProfileString...usw.
weil EXCEL das System.Private... als Methode nicht integriert hat.
Anyway:
Die Datei wird mit jedem Zugriff im RAM neu geöffnet.
Alternativ könntest du deine ganzen Einträge in die Registry schreiben, und von dort auslesen:
Option Explicit
Const RegAppName As String = "TestAnw"
Const RegKeySection As String = "StartUp"

Sub Reg_Key_setzen()
Dim i As Integer
For i = 1 To 10
SaveSetting appName:="TestAnw", section:="StartUp", key:=i, setting:=i + 75
'Eintrag mit Konstanten
'SaveSetting appname:=RegAppKey, section:=RegKeySection, key:=i, setting:=i + 75
Next i
End Sub


Sub Reg_Key_Alle_Settings_auslesen()
Dim Einstellungen As Variant, intsettings As Integer
' Einträge in der Registrierung vornehmen.
SaveSetting appName:="TestAnw", section:="Startup", key:="Top", setting:=75
'Ohne detaillierte Anweisung
SaveSetting "TestAnw", "Startup", "Left", 50
SaveSetting "TestAnw", "Startup", "right", 100
' Einstellungen abrufen.
Einstellungen = GetAllSettings(appName:="TestAnw", section:="Startup")
For intsettings = LBound(Einstellungen, 1) To UBound(Einstellungen, 1)
Debug.Print Einstellungen(intsettings, 0), Einstellungen(intsettings, 1)
Next intsettings
Debug.Print intsettings
End Sub


Sub Reg_Key_Einzelwert_auslesen()
Dim x As Variant
x = GetSetting(appName:="TestAnw", section:="Startup", key:="Top")
End Sub


Sub Reg_Key_löschen()
'Hauptschlüssel löschen
DeleteSetting "TestAnw" ', "Startup"
'Unterschlüssel löschen
'DeleteSetting "TestAnw", "Startup"
End Sub

Gruss Rainer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige