AW: Konstanten beim Excel-Start einlesen
17.12.2024 10:40:16
volti
Hallo Manfred,
eine weitere Möglichkeit wäre eine Inidatei.
Könnte jeder User manuell oder auch per Makro ins TEMP-Verzeichnis oder sonstigen Ordner, den jeder hat, kopiert werden und alle Werte per API GetPrivateProfileString ausgelesen werden.
Kann man zentral auch per Editor manuell verändern und ggf. an die User verschicken. Aus einer Mail Datei in Ordner einfügen sollte jeder können.
Aus einem anderen Beispiel.....
Code:
Private Declare PtrSafe Function GetPrivateProfileStringA Lib "kernel32" ( _
ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare PtrSafe Function WritePrivateProfileStringA Lib "kernel32" ( _
ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Private Const csTxtdatei As String = "Testtextdaten.txt"
Function SetGetInidaten(sBereich As String, sItem As String, Optional sDaten As String) As String
'Schreibt Daten in die Textdatei oder liest Daten aus der Textdatei
Dim sPfad As String, sTxt As String * 5000, l As Integer
sPfad = Environ$("TEMP") & "\MyIni.txt"
If sDaten <> "" Then
WritePrivateProfileStringA sBereich, sItem, sDaten, sPfad
Else
l = GetPrivateProfileStringA(sBereich, sItem, "none", sTxt, 5000, sPfad)
SetGetInidaten = Left$(sTxt, l)
End If
End Function
Sub Schreibewas1()
SetGetInidaten "Sektor1", "MeinWert", "Hallo World!"
End Sub
Sub Lesewas1()
MsgBox SetGetInidaten("Sektor1", "MeinWert")
End Sub
_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz