|
| |

Visual-Basic Einsteiger| Re: Registry-Problem | |  | | Autor: Timo | | Datum: 25.01.02 15:04 |
| Ihr seid ganz schön auf Zack. 3 Minuten, das ging echt schnell.
Also das hier ist gleich mein ganzes Modul in dem der Vorgang abläuft. Ich würde gerne den Code so posten wie Ihr ihn reinstellt, damit die Formatierung der Abstände nicht verloren geht, weiß aber nicht wie. Oder ist das ein Programm?
Option Explicit
Public wdVersion As String
Const clnaWord9720XP = "OpusApp"
Public hWndButtonOff As Long
' zunächst die benötigten API-Deklarationen
Public Declare Function GetWindow Lib "user32" _
(ByVal hWnd As Long, ByVal wCmd As Long) As Long
Public Const GW_HWNDFIRST = 0
Public Const GW_HWNDNEXT = 2
' weitere benötigte API-Deklarationen
Public Declare Function GetClassName Lib "user32" _
Alias "GetClassNameA" (ByVal hWnd As Long, _
ByVal lpClassName As String, ByVal nMaxCount As Long) _
As Long
Public Sub Wordversion_auslesen()
Dim hKey As Long, length, ValType, Vx
Dim Path As String, V
'### Entsprechenden Registry-Schlüssel öffnen
Path = "SOFTWAREMicrosoftOffice"
Vx = RegOpenKeyEx(HKEY_LOCAL_MACHINE, Path & "8.0WordInstallRoot", 0&, _
KEY_ALL_ACCESS, hKey)
If Vx = ERROR_SUCCESS Then
V = "8.0"
Else
Vx = RegOpenKeyEx(HKEY_LOCAL_MACHINE, Path & "9.0WordInstallRoot", 0&, _
KEY_ALL_ACCESS, hKey)
If Vx = ERROR_SUCCESS Then
V = "9.0"
Else
Vx = RegOpenKeyEx(HKEY_LOCAL_MACHINE, Path & "10.0WordInstallRoot", _
0&, KEY_ALL_ACCESS, hKey)
If Vx = ERROR_SUCCESS Then
V = "10.0"
Else
MsgBox "Fehler beim Öffnen des Schlüssels !" 'Ab hier beginnt meine Fehlermeldung, d.h. mir wird schon von vorne herein der Zugriff nicht gestattet.
Exit Sub
End If
End If
End If
'### Registry-Schlüssel auslesen
length = 255
Value = Space$(length)
If RegQueryValueEx(hKey, "Path", 0&, ValType, ByVal _
Value, length) <> ERROR_SUCCESS Then
MsgBox "Fehler beim Aulesen des Schlüssels !"
Exit Sub
End If
Value = Left$(Value, length - 1)
Value = Mid(Value, 2, length - 3)
'### Registry-Schlüssel schließen
If RegCloseKey(hKey) <> ERROR_SUCCESS Then
MsgBox "Fehler beim Schließen des Schlüssels !"
Exit Sub
End If
If V = "8.0" Then
wdVersion = V
V = "97"
ElseIf V = "9.0" Then
wdVersion = V
V = "2000"
ElseIf V = "10.0" Then
wdVersion = V
V = "XP"
End If
If Len(wdVersion) = 3 Then
wdVersion = Trim(Left(wdVersion, 1))
ElseIf Len(wdVersion) = 4 Then
wdVersion = Trim(Left(wdVersion, 2))
End If
If oWord Is Nothing Then
If wdVersion = 8 Then
'Erzeuge ein Objekt für Word 97
Set oWord = CreateObject("Word.Application.8")
ElseIf wdVersion = 9 Then
'Erzeuge ein Objekt für Word 2000
Set oWord = CreateObject("Word.Application.9")
ElseIf wdVersion = 10 Then
'Erzeuge ein Objekt für Word XP
Set oWord = CreateObject("Word.Application.10")
End If
oWord.Documents.Add (Wordvorlage)
oWord.ActiveWindow.DocumentMap = False
End If
Form1.isWordOpen
'MsgBox "Sie benutzen die Word " & V & " Version", 0, "Wordversion"
End Sub
|  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
| |
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|