kann mir jemand bitte weiterhelfen?
Ich habe ein Excel Datei, in welcher Ich per MSG Box die Sprache bestimmter Felder per INI-Datei festlegen möchte. Funktioniert super, aber die Funktion wird nicht automatisch in allen Feldern ausgeführt, sondern nur wenn Ich die Funktion neu eingebe?! Wie können alle Felder automatisch aktualisiert werden?!
Beispiel:
In dem jeweiligen Feld steht dann die Funktion: StringSprache("translate")
INI-Datei:
[ITALIAN]
translate = traduzioni
[English]
translate = translate
UserForm1:
Private Sub CommandButton1_Click()
SPRACHE$ = "ITALIAN"
End Sub
Private Sub CommandButton2_Click()
SPRACHE$ = "ENGLISH"
End Sub
Modul1:
Option Explicit
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
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
'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 String) As Long
Global SPRACHE As String
Global DATEI As String
Public Function StringSprache(stringa As String) As String
DATEI = "C:\Test\test.ini"
StringSprache = GetIniString(SPRACHE, stringa, stringa, DATEI)
End Function
Function GetIniString(AppName$, KeyName$, Default$, path$) As String
Dim ret As String
Dim X As Integer
ret = Space$(255)
X = GetPrivateProfileString(AppName$, KeyName, Default$, ret, Len(ret), path$)
If X > 0 Then
GetIniString = Left(ret, X)
Else
GetIniString = Default$
End If
End Function