Word XP Makro

Dieses Thema Word XP Makro im Forum "Microsoft Office Suite" wurde erstellt von jannie, 22. März 2005.

Thema: Word XP Makro Hi, ich sitze gerade an einem alten Word Makro, worin die Funktionsaufrufe GetProfileString$ und SetProfileString...

  1. Hi,

    ich sitze gerade an einem alten Word Makro, worin die Funktionsaufrufe GetProfileString$ und SetProfileString verwendet werden. Diese sollen in der WIN.INI lesen oder schreiben. Das funktioniert aber in Word XP nicht mehr. Hat jemand eine Idee, wie die alten Befehle ersetzt werden könnten?

    jannie
     
  2. danke Matjes,

    hat zwar eine Weile gedauert, aber ich habe mich ansatzweise in der MSN-Library durchgebissen. Registry und Registry-Schlüssel anlegen ist allerdings ein heikles Thema. Zur Vorsicht habe ich mal von C: ein Image erstellt und die Registry exportiert. Wie geht das jetzt mit dem Schlüssel anlegen?  ::)

    jannie
     
  3. Hi jannie,

    schau mal unter folgendem link bei ActiveVB. Ist zwar für VBA, kann man aber leicht nach VB-Word transferieren.
    http://www.activevb.de/tipps/vb6tipps/tipp0107.html

    Ein Modul aufmachen, als erste Zeile
    Code:
    Option Explicit
    , dann sieht man, welche vordefienerten Variablen oder Steuerelemente nicht vorhanden sind.

    Gruß Matjes  :)
     
  4. Hi,

    8) Soo, nach einem Ausflug in die Registry und ActiveVB bin ich nun doch noch in der Microsoft Visual Basic-Hilfe fündig geworden. Ich beginne nun Tests mit SaveSetting und GetSetting.

    Code:
    SaveSetting Anw1, MS Word User, Name, Josef Meier-> nur Test
    Dim GPS->nur Test
    GPS = GetSetting(Anw1, MS Word User, Name)-> nur Test
    
    Mit SaveSetting scheinen Daten gespeichert zu werden, denn GetSetting liefert einen Wert. Allerdings habe ich noch nicht rausbekommen, wo die Daten gespeichert werden.  ??? In der Registry finde ich zwar unter

    HKEY_CURRENT_USER\Software\Microsoft\Search Assistant\ACMru\5604

    die Einträge
       Name: 000
       Wert: Anw1

    jedoch auch eine Vielzahl anderer von mir bereits gesuchten Objekte.->Search Assistant' sagt eigentlich alles.

    Werd mal weiter wurschteln. Grüße,

    :)  jannie
     
  5. Hallo jannie,

    wo das landet, ist in http://www.vbarchiv.net/commands/GetSetting.php beschrieben.

    Bei mir unter Win98 hab ich folgenden Makro ausprobiert:
    Code:
    Sub QuatschInDieRegistryEintragen()
     ->landet unter
     ->HKEY_CURRENT_USER\Software\VB and VBA Program Settings\HalloHallo\Optionen
      SaveSetting HalloHallo, Optionen, MeinSchluessel, 777
    End Sub
    Gruß Matjes :)
     
  6. :) danke Matjes,

    so langsam krieg ich den Bogen raus mit der Registry. Nun hab ich aber doch noch eine Frage: Die Einträge sind doch lokal, oder kann ich in einem Netzwerk an einem anderen Rechner einen Registryeintrag von meinem Rechner aus machen?

    Zweite Frage, bezieht sich auf folgenden Code:

    Code:
    'If WordBasic.[GetProfileString$](MS Word User, Name) =  Then-> Original
    If GetSetting(Anw1, MS Word User, Name) =  Then-> Ersatz
        WordBasic.Call BenutzerInfoEinstellen.PrepareUserForDlg
        WordBasic.Call BenutzerInfoEinstellen
        If WordBasic.[GetAutoText$](Konfigurieren, 1) <>  Then
            WordBasic.ViewNormal
            WordBasic.Call BriefKopfzeileEinstellen
            If WordBasic.[GetAutoText$](Konfigurieren, 1) =  Then
                WordBasic.PrintStatusBar Die Änderungen werden in der Vorlage gespeichert...
                On Error Resume Next
                WordBasic.SaveTemplate
                On Error GoTo -1: On Error GoTo 0
            End If
        End If
        WordBasic.Call Konfigurieren.SayHowToConfigure
        ConfigureMsgShown = -1
    End If
    
    Erste Zeile hab ich schon ersetzt mit GetSetting, funktioniert auch. Also angenommen unter->Name' ist kein Eintrag, dann wird ein anderes Modul geöffnet, um Benutzerinformationen einzustellen. Dies geschieht mit einem Dialog, den ich auch schon mit den neuen Befehlen GetSetting und SaveSetting bestückt habe. Aber was die zwei weiteren if-Verschachtelungen bewirken sollen, ist mir ein Rätsel. ::) Vielleicht weißt Du ja Rat, Matjes, wäre Dir sehr dankbar!

    Gruß, jannie
     
  7. Hallo jannie,

    zur ersten Frage:
    kann ich dir nicht genau beantworten - hab ich noch nicht ausprobiert.
    Ich denke mal, dass das nicht direkt geht.
    Eine Möglichkeit besteht darin, als Administrator auf dem fremden Rechner eine Policy setzen (ist eine Registry-Änderung, die beim Hochfahren des Rechners eingetragen wird).
    Schau mal bei ct unter http://www.heise.de/ct/tipps/adms.shtml

    zur zweiten Frage:
    siehe unter MSN Visual Basic Equivalents
    http://msdn.microsoft.com/library/d...s/vbawd10/html/wohowWordBasicEquivalentsG.asp

    Gruß Matjes  :)
     
  8. Hi!

    Danke Matjes, GetAutoText$() habe ich erfolgreich ersetzt. Aber auch dann tritt ein Problem auf:

    Code:
    If NormalTemplate.AutoTextEntries(Konfigurieren).Value <>  Then
    
    Wenn der AutoText Eintrag Konfigurieren existiert, dann läuft das Makro hier weiter. Existiert aber jener Eintrag nicht, dann bricht das Makro ab.

    Ich habe bisher leider keine Möglichkeit - ausser On Error Resume Next, hat aber keinen Zweck hier - gefunden, wie ich überprüfen kann, ob ein Eintrag in AutoText existiert.

    jannie
     
  9. Hi Jannie,

    versuch es mal so:
    Code:
    Function AutotextExist(s_name As String) As Boolean
     ->true: wenn AutotextEntry existiert und den Wert s_name hat
     ->sonst false
      Dim s_tmp As String
      AutotextExist = False
      
      On Error GoTo Errorhandler
      s_tmp = NormalTemplate.AutoTextEntries(s_name).Value
      If s_tmp = s_name Then
        AutotextExist = True
      Else
        AutotextExist = False
      End If
      Exit Function
    Errorhandler:
      Err.Clear
      AutotextExist = False
    End Function
    Gruß Matjes  :)
     
Die Seite wird geladen...

Word XP Makro - Ähnliche Themen

Forum Datum
Word 2013 VBA: Makro aus einer anderen Datei aufrufen Microsoft Office Suite 16. Juni 2014
Makro zum drucken der ersten Seite von Stck. 200 Word2007 Doc in einem Verz. Windows XP Forum 9. Aug. 2012
Schriftfarbe per Makro in Word 2003 suchen Microsoft Office Suite 28. Nov. 2011
Word Makro kann nicht aufgezeichnet werden Windows XP Forum 12. Apr. 2010
WORD: Makros deaktiviert?? Microsoft Office Suite 16. Apr. 2009