Anzeige
Archiv - Navigation
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
532to536
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Codeunterschied WIN9X oder XP ??

Codeunterschied WIN9X oder XP ?
19.12.2004 16:36:19
Erich
Hallo EXCEL-Freunde,
habe folgenden Code in einem Klassenmodul:
Option Explicit
Public WithEvents myApplication As Application
Private Sub myApplication_NewWorkbook(ByVal Wb As Workbook)
Wb.Close
End Sub
Private Sub myApplication_WorkbookOpen(ByVal Wb As Workbook)
' Hier anpassen, wenn andere Mappe geöffnet werden soll.
If Wb.Name <> ThisWorkbook.Name Then Workbooks(Wb.Name).Close False
LockWindowUpdate Application.VBE.MainWindow.hwnd
Application.OnKey "%{F11}", ""
Application.OnKey "%{F8}", ""
Application.OnKey "%{F6}", ""

Call ControlEnableDisable(1695, False)
Call ControlEnableDisable(186, False)
End Sub

Der Start von EXCEL unter WIN98 läuft ohne Probleme;
bei XP gibts eine Fehlermeldung mit Hinweis auf folgende Zeile:
LockWindowUpdate Application.VBE.MainWindow.hwnd
Leider habe ich noch keine Hinweise oder Beschreibung für diesen Teilcode
gefunden. Was bedeutet denn die Zeile?
(den Code habe ich nicht selber erstellt, sondern aus dem Netz)
Besten Dank für eine Info!
mfg
Erich

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Codeunterschied WIN9X oder XP ?
Luschi
Hallo Erich,
LockWindowUpdate ist eine API-Funktion von Windows. Excel ist diese Funktion nicht bekannt. Deshalb muß sie im Excel-Module deklariert werden mit:
Declare Function LockWindowUpdate Lib "user32" _
(ByVal hwndLock As Long) As Long
Sieh also erst mal nach, ob diese Deklaration in Deinem Programm vorhanden ist.
Eventuell steht vor den "Declare" noch ein "Private" und Excel findet deshalb die Funktion nicht. Die Aufgabe dieser Funktion hier erklärt:
http://www.activevb.de/tipps/vb6tipps/tipp0060.html
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Codeunterschied WIN9X oder XP ?
Erich
Hallo Luschi,
besten Dank! Habe in meinem Programm in EXCEL gefunden:
Public Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
Allerdings in einem separaten Modul - nicht in dem oben von mir dargestellten
Klassenmodul.
Gibt es da quasi einen Unterschied, zwischen meiner bisherigen Lösung in einem separaten Modul mit "Public" vorne weg? Für XP ist die Lösung im Klassenmodul zumindest nicht ausreichend gewesen.
(Leider habe ich hier nicht XP, so dass ich es nicht testen kann.
mfg
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige