Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
120to124
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
120to124
120to124
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel und Ini-Datei

Excel und Ini-Datei
22.05.2002 16:54:51
Peter
Hallo,

ich habe mit Word97 (VBA-Makro) eine Ini-Datei erstellt. Kann ich diese Ini-Datei auch mit Excel97 auslesen um mit den dortigen Werten Variablen in Excel zu füllen ?

Kann ich aus Word97 eine vorhandene Exceltabelle starten und wenn man die ini-datei verwenden kann gleich die Ini-datei beim start zur Verfügung stellen und die Variablen in meinem Excel97 Makro mit leben zu füllen ?

Gruß

Peter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Excel und Ini-Datei
22.05.2002 17:02:34
PeterA
Hallo Peter

Ein Codebeispiel zum Auslesen einer TXT Datei.
Falls du Probleme beim Anpassen an dein Programm hast melde
dich noch mal.

PeterA


Die elegante Methode ...
22.05.2002 23:15:15
Thomas Risi
Hallo Peter

Hier bietet sich eine Klasse zur Verwendung an ...

Füge in das Excel-Projekt eine Klasse ein, und benenne sie mit 'clsIni'. Dann fügst Du folgenden Code ein.

Option Explicit

Private Declare Function GetPrivateProfileString_ Lib "kernel32" _
 Alias "GetPrivateProfileStringA" ( _
 ByVal lpApplicationName As String, _
 ByVal lpKeyName As Any, _
 ByVal lpDefault As String, _
 ByVal lpReturnedString As String, _
 ByVal nSize As Long, _
 ByVal lpFileName As StringAs Long
 
Private Declare Function WritePrivateProfileString_ Lib "kernel32" _
 Alias "WritePrivateProfileStringA" ( _
 ByVal lpApplicationName As String, _
 ByVal lpKeyName As String, _
 ByVal lpDefault As String, _
 ByVal lpFileName As StringAs Long


' Datei = Pfad zur ini-Datei
' Sektion = Zu ändernde Section
' Schlüssel = Zu ändernder Key

Public Function GetPrivateProfileString(Datei$, Sektion$, Key$) As String
Dim A As Long, Wert As String
    
    Wert = Space$(255)
    A = GetPrivateProfileString_(Sektion$, Key$, "", Wert$, Len(Wert$), Datei$)
    GetPrivateProfileString = Left$(Wert$, A&)
    
End Function

Public Function WritePrivateProfileString(Datei$, ByVal Sektion$, ByVal Key$, ByVal Wert$)
Dim A As Long
    
    A = WritePrivateProfileString_(Sektion$, Key$, Wert$, Datei$)
    
End Function




In einem normalen Modul erstellst Du dann nur noch eine Instanz der Klasse und kannst auf deren Methoden zugreifen.

Option Explicit

Dim iniClass As clsIni  ' Klasse einbinden


Sub Test_Schreiben()
Dim Path$: Path = "C:\Excel\TestXL.ini"
Dim Section$: Section = "TEST"
Dim Key$: Key = "LastUsedRange"
    
    Set iniClass = New clsIni   ' Instanz erstellen
    
    iniClass.WritePrivateProfileString Path, Section, Key, "C8"
    iniClass.WritePrivateProfileString Path, Section, "HelloMsg", "Hi, wie geht's ?"
    
    Set iniClass = Nothing
    
End Sub


Sub Test_Lesen()
Dim Path$: Path = "C:\Excel\TestXL.ini"
Dim Section$: Section = "TEST"
Dim Key$: Key = "LastUsedRange"
    
    Set iniClass = New clsIni   ' Instanz erstellen
    
    MsgBox iniClass.GetPrivateProfileString(Path, Section, "HelloMsg")
    
    Set iniClass = Nothing
    
End Sub

     Code eingefügt mit Syntaxhighlighter 1.13




Um alle Daten beim Start der excel-Tabelle zur Verfügung zu haben, liest Du diese am Besten im 'WorkbookOpen'-Ereignis aus. Das Interessante an der 'Klasse' ist, daß man sie nur einmal erstellt, und unverändert in andere Projekte (Excel, Word, Access, usw.) übernehmen kann.


Gruß

Thomas

------------------------------
Internet: Homepage

eMail: Thomas.Risi@t-online.de
------------------------------


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige