Herbers Excel-Forum - das Archiv

Ein neues, altes Problem

Bild

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
Bild

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

Bild

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
Bild

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
Bild
Excel-Beispiele zum Thema " Ein neues, altes Problem "
Verschnittproblem mit Solver lösen