Herbers Excel-Forum - das Archiv
Ein neues, altes Problem
Betrifft: Ein neues, altes Problem
von: DieterB
Geschrieben am: 18.11.2003 19:10:33
Hallo Leute,
folgendes: kürzlich habe ich eine Anwendung programmiert (siehe Thread von gestern " Tabelle an Monitor anpassen").
Auf meinen Rechner (WIN98, WIN2000 , Excel2000) läuft es einwandfrei.
Heute habe ich die Anwendung unter Excel97 auf einer WINNT 4.0 laufen lassen und einen Fehler entdeckt.
Private Declare
Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Nachfolgende 3 Zeilen sind rot und es erscheint die meldung "Bezeichner fehlt.
Wobei "ENUM" in der 1. Zeile markiert ist.
Public Enum ScreenArgs
HORIZONTAL
VERTIKAL
End Enum
Wer kann mir helfen?
Liegt es 1. am Betriebssystem?
2. an der Excel-version (auf meinem Rechner habe ich die Anwendung unter Excel2000 für Excel97 geschrieben)
oder 3. vielleicht an den fehlenden Admin-Rechten auf WINNT4.0?
Hier der Rest vom Code zum nachvollziehen.
Public
Function ScreenResolution(HV As ScreenArgs) As Long
If HV = 0 Or HV = 1 Then ScreenResolution = GetSystemMetrics(HV)
End Function
Sub Set_Zoom()
'Die Werte hinter .Zoom den eigenen Bedürfnissen anpassen
Select Case ScreenResolution(0)
Case 1600
ActiveWindow.Zoom = 75
'Bildschirmauflösung
'1280*1024
Case 1280
ActiveWindow.Zoom = 156
'1152*864
Case 1152
ActiveWindow.Zoom = 139
'1024*768
Case 1024
ActiveWindow.Zoom = 120
'848*480
Case 848
ActiveWindow.Zoom = 98
'800*600
Case 800
ActiveWindow.Zoom = 95
'768*576
Case 768
ActiveWindow.Zoom = 92
'720*480
Case 720
ActiveWindow.Zoom = 75
'640*480
Case 640
ActiveWindow.Zoom = 78
End Select
End Sub
Ich danke für die Hilfe
Gruß
DieterB
Betrifft: AW: Ein neues, altes Problem
von: K.Rola
Geschrieben am: 18.11.2003 19:33:43
Enum gabs in Version 97 nicht. Ist auch nicht nötig:
Option Explicit
Private Declare
Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long
Sub Auflösung()
Dim h As Long
h = GetSystemMetrics(0)
Select Case h
Case 1600: ActiveWindow.Zoom = 75
Case 1280: ActiveWindow.Zoom = 156
Case 1152: ActiveWindow.Zoom = 139
Case 1024: ActiveWindow.Zoom = 120
Case 848: ActiveWindow.Zoom = 98
Case 800: ActiveWindow.Zoom = 95
Case 768: ActiveWindow.Zoom = 92
Case 720: ActiveWindow.Zoom = 75
Case 640: ActiveWindow.Zoom = 78
End Select
End Sub
Private declare
Function gehört in eine Zeile, wird hier nicht
richtig dargestellt.
Gruß K.Rola
Betrifft: AW: Ein neues, altes Problem
von: DieterB
Geschrieben am: 18.11.2003 19:37:30
Ich danke Dir,
werde ich morgen gleich ausprobieren und mich melden wenn es klappt.
Gruß
DieterB
Betrifft: Läuft
von: DieterB
Geschrieben am: 18.11.2003 19:51:41
Hallo K. Rola,
läuft (unter Excel2000, auf WIN98), herzlichen Dank.
Gruß
DieterB