VBA-Script zum Reg editieren

Dieses Thema im Forum "Windows NT / 95 / 98 / 2000 / ME" wurde erstellt von Choleriker, 11. Oktober 2002.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Choleriker

    Choleriker Guest

    Hy!
    Wer von euch weiß denn wie ich ein Script schreibe, das mit automatisch einen Registryschlüssel verändert?

    MfG Choleriker
     
  2. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Hallo Manfred !

    <Es wurde nicht mal nach VBA gefragt>
    Bei mir steht oben drüber :"Thema :VBA-Script zum Reg editieren"
    Was steht bei Dir ?

    franzkat
     
  3. maneich

    maneich Kbyte

    Registriert seit:
    29. August 2001
    Beiträge:
    328
    Hallo,

    m.E. wurde hier nach einer einfachen Möglichkeit zum automatischen veränderrn der Registry gefragt. Es wurde nicht mal nach VBA gefragt.

    Mit ist sehr wohl bekannt, was man mit VBA alles machen kann. Für Nichtkundige ist eine .reg-Datei einfacher und schneller zu bewerkstelligen.

    MfG maneich
     
  4. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Hallo Manfred !

    Also VBA bedeutet Visual Basic [for]Applications.Wenn ich die Frage richtig verstehe,geht es darum, wie man z.B. aus einer Anwendung wie Word heraus mit Makros auf Registry-Werte lesend oder schreibend zugreift.Das ist natürlich etwas anderes, als nur eine Reg-Datei zu erstellen.Du kannst ja z.B. per VBA auch Batch-befehle in Makros einbeziehen.Wobei das Einbeziehen über VBA ja nicht identisch ist mit der Batch selbst, sondern die VBA-Programmierung als eine Art Frontend fungiert,d.h. sozusagen vorgeschaltet ist.

    franzkat
     
  5. maneich

    maneich Kbyte

    Registriert seit:
    29. August 2001
    Beiträge:
    328
    Hallo,

    ich habe schon richtig gelesen.

    Jedoch bin ich der Meinung, das eine .reg-Datei vielfältiger und einfacher eingesetzt werden kann, als ein VB-Script.

    Damit kannst Du Daten in der Registry verändern, hinzufügen oder auch löschen ohne großen Aufwand zu betreiben. Solltest Du mehr dazu wissen wollen, melde Dich.

    MfG maneich
     
  6. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Hast Du das Thema richtig gelesen ? Es geht dem Fragesteller um ein VBA-Script.

    franzkat
     
  7. maneich

    maneich Kbyte

    Registriert seit:
    29. August 2001
    Beiträge:
    328
    Hallo,

    warum so umständlich. Schreibe einfach eine .reg-Datei mit:

    Leere Datei öffnen mit Notepad; Dateiname vergeben als
    Dateiname.reg, Dateieinträge

    Regedit 4 (erste Zeile; danach und zwischen den Schlüsseln 2 Leerzeilen)

    [Registry-Schlüssel-Eintrag1]
    "Name"="Wert"

    [Registry-Schlüssel-Eintrag]
    "Name"="Wert"

    usw.

    Hier dargestellt sind Zeichenwerteals D-Word-Wert=
    "name"=D-Word:Wert als binär oder hex. Wert=
    "name"=bin:Wert
    "name=hex:Wert

    Hier kannst Du einen oder mehrere Eintrage innerhalb eines Schlüssels oder auch einen oder mehrere Schlüssel eintragen. Danach Datei speichern; Ort beliebig. Durch Doppelklick auf diese Datei, wird sie in die4 Registry eingetragen.

    MfG maneich
    [Diese Nachricht wurde von maneich am 14.10.2002 | 01:38 geändert.]
     
  8. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Hallo Choleriker !

    In einer etwas älteren Ausgabe der PC-Welt-Online habe ich mal folgenden Eintrag gefunden und archiviert :

    "Office 97/2000: Per Makro auf die Registry zugreifen
    Haben Sie ein Makro oder ein Formular für Word, Excel oder Access erstellt und müssen dafür bestimmte Werte in der Registrierdatenbank dauerhaft speichern, oder wollen Sie von Visual Basic aus Werte in der Registry verändern, fehlt Ihnen im Funktionsumfang der Programmiersprache eine geeignete Funktion, um auf die Registry zuzugreifen. Dies ist eigentlich nicht vorgesehen. PC-WELT verrät Ihnen wie es trotzdem funktioniert.

    Einen Befehl, mit dem Sie Werte der Registry lesen oder schreiben können, gibt es nur in Word. Sie können ihn aber auch in den anderen Programmen aus dem Microsoft-Office-Paket verwenden. Dazu öffnen Sie mit <Alt> - <F11> den Visual-Basic-Editor und klicken dann im Menü auf "Extras, Verweise". Für Office 2000 aktivieren Sie nun unter "Verfügbare Verweise" die Klickbox vor "Microsoft Word 9.0 Object Library". Bei Office 97 heißt der Eintrag "Microsoft Word 8.0 Object Library". Der Lesezugriff auf die Registry kann dann beispielsweise über diesen Befehl erfolgen:

    UserName=System.PrivateProfileString("", _"HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info", "DefName")

    Der ausgelesene Wert befindet sich anschließend in der Variablen "UserName". Wenn Sie einen Wert in die Registry schreiben wollen, drehen Sie die Befehlszeile um:

    System.PrivateProfileString("", _"HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info", "DefName")=UserName

    In diesem Fall schreibt der Befehl den Wert der vorher definierten Variablen "UserName" in die Registry. Sollte ein Schlüssel oder Wert in der Registry nicht existieren, legt der Befehl ihn an.

    Der Befehl "PrivateProfileString" hat jedoch einige Nachteile: Sie können damit nur Zeichenfolgen erstellen, und Werte oder Schlüssel lassen sich nicht wieder löschen. "

    Das müßte Dir eigentlich weiterhelfen.

    franzkat
     
  9. rapmaster

    rapmaster Halbes Gigabyte

    Registriert seit:
    21. Juli 2002
    Beiträge:
    5.181
    ich glaube dass ich hier so eine ähnliche frage schon mal irgendwo gelesen habe.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen