Εάν δεν θέλετε να χρησιμοποιήσετε λειτουργίες API, μπορείτε να χρησιμοποιήσετε τη βιβλιοθήκη αντικειμένων Words για να διαβάσετε και να γράψετε ιδιωτικές συμβολοσειρές προφίλ.
Το Words System.PrivateProfileString μπορεί να διαβάζει και να γράφει τόσο στα αρχεία INI όσο και στο μητρώο.
Σε άλλες εφαρμογές εκτός του Word, πρέπει να προσθέσετε μια αναφορά στη βιβλιοθήκη αντικειμένων Words.
Μπορείτε να προσθέσετε την αναφορά ανοίγοντας το Visual Basic Editor (VBE) και να ενεργοποιήσετε το VB Project σας. Στη συνέχεια, επιλέγετε Εργαλεία, Αναφορές… και ελέγχετε την επιλογή Microsoft Word x.x Object Library.
Γράψτε πληροφορίες σε αρχεία INI
Με την παρακάτω μακροεντολή μπορείτε να αποθηκεύσετε πληροφορίες σε ένα αρχείο κειμένου:
Λειτουργία SetIniSetting (Όνομα αρχείου ως συμβολοσειρά, τμήμα ως συμβολοσειρά, _ κλειδί ως συμβολοσειρά, κλειδί ως συμβολοσειρά, KeyValue) Ως Boolean Dim wd ως Word.Application SetIniSetting = False Set wd = New Word.Application 'δημιουργήστε το αντικείμενο εφαρμογής Word στο Error Resume Next wd.System. PrivateProfileString (Όνομα αρχείου, Τμήμα, Κλειδί) = CStr (KeyValue) On Error GoTo 0 Set wd = Τίποτα δεν καταστρέφει το αντικείμενο εφαρμογής Word SetIniSetting = True End Function
Χρησιμοποιήστε τη μακροεντολή όπως αυτή για να αποθηκεύσετε την τιμή 100 στο αρχείο C: \ FolderName \ FileName.ini στην ενότητα
MySectionName για το κλειδί TestValue:
MyBooleanVar = SetIniSetting ("C: \ FolderName \ FileName.ini", "MySectionName", "TestValue", 100)
Το αρχείο κειμένου θα μοιάζει με αυτό:
[MySectionName]
TestValue = 100
Διαβάστε πληροφορίες από αρχεία INI
Με την παρακάτω μακροεντολή μπορείτε να διαβάσετε πληροφορίες από ένα αρχείο κειμένου:
Λειτουργία GetIniSetting (Όνομα αρχείου ως συμβολοσειρά, τμήμα ως συμβολοσειρά, _ κλειδί ως συμβολοσειρά) Ως συμβολοσειρά Dim wd ως Word.Application GetIniSetting = "" Set wd = New Word.Application "create the word application object On Error Resume Next GetIniSetting = wd.System .PrivateProfileString (Όνομα αρχείου, Τμήμα, Κλειδί) Σε Σφάλμα GoTo 0 Set wd = Τίποτα 'δεν καταστρέφει τη λειτουργία λήξης του αντικειμένου εφαρμογής Word
Χρησιμοποιήστε τη μακροεντολή όπως αυτή για να επιστρέψετε την τιμή για το κλειδί TestValue στην ενότητα MySectionName
από το αρχείο C: \ FolderName \ FileName.ini:
MyStringVar = GetIniSetting ("C: \ FolderName \ FileName.ini", _ "MySectionName", "TestValue")
Γράψτε πληροφορίες στο Μητρώο
Με την παρακάτω μακροεντολή μπορείτε να αποθηκεύσετε πληροφορίες στο Μητρώο:
Function SetRegistrySetting (Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetRegistrySetting = False Set wd = New Word.Application 'create the word application object On Error Resume Next wd.System.PrivateProfileString ("" , Ενότητα, Κλειδί) = CStr (KeyValue) On Error GoTo 0 Set wd = Τίποτα 'δεν καταστρέφει το αντικείμενο εφαρμογής Word SetRegistrySetting = True End Function
Χρησιμοποιήστε τη μακροεντολή όπως αυτή για να αποθηκεύσετε μια νέα τιμή στο HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel για το κλειδί DefaultPath:
MyStringVar = "HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyBooleanVar = SetRegistrySetting (MyStringVar, _ "DefaultPath", "C: \ FolderName")
Ανάγνωση πληροφοριών από το Μητρώο Με την παρακάτω μακροεντολή μπορείτε να διαβάσετε πληροφορίες από το Μητρώο:
Function GetRegistrySetting (Section As String, Key As String) As String Dim wd As Word.Application GetRegistrySetting = "" Set wd = New Word.Application "create the Word application object On Error Resume Next GetRegistrySetting = wd.System.PrivateProfileString (" , Ενότητα, Κλειδί) Στο Σφάλμα GoTo 0 Set wd = Τίποτα 'καταστρέφει το αντικείμενο εφαρμογής Word Λειτουργία Τέλους
Χρησιμοποιήστε τη μακροεντολή όπως αυτή για να διαβάσετε την τιμή από το κλειδί DefaultPath
από HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel:
MyStringVar = "HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyStringVar = SetRegistrySetting (MyStringVar, _ "DefaultPath")