Définir des Variables Globales en VBA

Je suis en train de faire un "OS" dans PowerPoint et j'ai besoin de savoir comment définir des variables globales pour les paramètres.

J'ai fait un module appelé "Paramètres" contenant:

Public Sub Settings()

Option Explicit
Public UserName, UserIcon, Background, BrowserHomePage As String
Public SetupComplete As Boolean

SetupComplete = False
UserName = "Administrator"
UserIcon = Nothing
Background = Nothing
BrowserHomePage = Nothing

'Set the variables
UserName.Text = UserName

End Sub

Maintenant sur "se connecter" de l'écran, j'ai une zone de texte nommée "nom d'utilisateur". J'ai ensuite fait un bouton, il suffit de tester les variables. Le bouton n'est présent:

Private Sub CommandButton1_Click()
UserName.Value = UserName
End Sub

La zone de texte n'a aucune valeur quand je clique sur le bouton. Je suis super nouvelle en VBA, et je voudrais savoir comment faire cela. Aussi, si quelqu'un sait comment faire pour exécuter automatiquement des codes lors du démarrage de l'PowerPoint, ce serait fantastique.

EDIT: je suis en train de faire un module contenant uniquement les paramètres. Quelqu'un peut-il montrer comment modifier les valeurs de diapositives? Comme si je clique sur un bouton dans la diapositive 1, je veux changer le "nom d'utilisateur" de la valeur dans le module "Paramètres" pour ce que je veux.

Solution: Ok, j'ai trouvé la solution. Je dois écrire les paramètres dans un fichier texte et de le récupérer pour la lecture.

Mes paramètres de module:

Public UserName As String, Password As String, UserIcon As String, DesktopBackground As String, LogInBackground As String, BrowserHomePage As String
Public InitialSetupCompleted As Boolean
Public Sub ReadSettings()
'Delcaring variables
TempDir = Environ("Temp")
SettingsFileName = "\OpenOSSettings.txt"
SettingsFile = TempDir & SettingsFileName
ReadFile = FreeFile()
'Read all settings from file
Open SettingsFile For Input As #ReadFile
Do While Not EOF(ReadFile)
Line Input #ReadFile, Read
If Read Like "UserName = *" Then
UserName = Replace(Read, "UserName = ", "")
End If
If Read Like "Password = *" Then
Password = Replace(Read, "Password = ", "")
End If
If Read Like "UserIcon = *" Then
UserIcon = Replace(Read, "UserIcon = ", "")
End If
If Read Like "DesktopBackground = *" Then
DesktopBackground = Replace(Read, "DesktopBackground = ", "")
End If
If Read Like "LogInBackground = *" Then
LogInBackground = Replace(Read, "LogInBackground = ", "")
End If
If Read Like "BrowserHomePage = *" Then
BrowserHomePage = Replace(Read, "BrowserHomePage = ", "")
End If
If Read Like "InitialSetupCompleted = *" Then
InitialSetupCompleted = Replace(Read, "InitialSetupCompleted = ", "")
End If
Loop
Close #ReadFile
'Applying settings to all elements
Slide5.UserName.Caption = UserName
End Sub
Public Sub SaveSettings()
'Declaring variables
TempDir = Environ("Temp")
SettingsFileName = "\OpenOSSettings.txt"
SettingsFile = TempDir & SettingsFileName
WriteFile = FreeFile()
'Write all settings to file
Open SettingsFile For Output As #WriteFile
Print #WriteFile, "UserName = " & UserName
Print #WriteFile, "Password = " & Password
Print #WriteFile, "UserIcon = " & UserIcon
Print #WriteFile, "DesktopBackground = " & DesktopBackground
Print #WriteFile, "LogInBackground = " & LogInBackground
Print #WriteFile, "BrowserHomePage = " & BrowserHomePage
Print #WriteFile, "InitialSetupCompleted = " & InitialSetupCompleted
Close #WriteFile
End Sub

Maintenant pour enregistrer les paramètres, je viens d'utiliser une zone de texte et un bouton.
Économie de la valeur de TextBox1 de nom d'utilisateur dans le fichier:

Private Sub CommandButton1_Click()
UserName = TextBox1.Value
Settings.SaveSettings
End Sub

La lecture de la valeur de nom d'utilisateur et le mettre dans TextBox1:

Private Sub CommandButton2_Click()
Settings.ReadSettings
TextBox2.Value = UserName
End Sub

Code très long, mais ça marche bien. Merci à tous!

  • {générique d'alerte à propos des variables globales}
  • Public UserName, UserIcon, Background, BrowserHomePage As String ici seulement BrowserHomePage est une chaîne, vous devez répéter as string après chaque variable
  • "Je suis en train de faire un "OS" dans PowerPoint". !!???
InformationsquelleAutor dennis96411 | 2012-09-03