Anzeige
Archiv - Navigation
352to356
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
352to356
352to356
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bildschirmauflösung ändern

Bildschirmauflösung ändern
24.12.2003 22:43:00
Stefan Glander
Frohe Weihnacht ,
Habe das Problem das ich nicht weiß wo ich vob diesem Code was hinschreiben muss.
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean

Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long

Const CCDEVICENAME = 32
Const CCFORMNAME = 32
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000

Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type

Dim DevM As DEVMODE

'------------------------------------------------------------
'Comments : Allows changing of screen resolution in Win95
' Example: Call ChangeScreenResolution(800,600)
'Parameters: iWidth, iheight: integer values of resolution
'Sets : Requested screen resolution or if screen is
' already at resolution returns true
'Returns : None
'Created by: Bridgett M. Cole, Saltware Computer Services
'Created : 12/1/97 8:15:58 PM
'------------------------------------------------------------

Private Sub ChangeScreenResolution(iWidth As Single, iHeight As Single)
Dim a As Boolean
Dim i&
Dim b&
i = 0
Do
a = EnumDisplaySettings(0&, i&, DevM)
i = i + 1
Loop Until (a = False)
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = iWidth
DevM.dmPelsHeight = iHeight
b = ChangeDisplaySettings(DevM, 0)
End Sub


Sub ChangeTo800()

Call ChangeScreenResolution(800, 600)

End Sub


Wer sagt mir wie ich es machen soll
Gruss
Stefan Glander

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildschirmauflösung ändern
24.12.2003 22:59:09
PeterW
Hallo Stefan,

du musst eigentlich nur hier was schreiben:

Sub ChangeTo800()
Call ChangeScreenResolution(800, 600)
End Sub

Und zwar die Auflösung, die du gerne hättest. Leider schreibst du nicht, was du eigentlich möchtest, vielleicht gibt es dafür einen einfacheren Weg als den von dir eingeschlagenen.

Gruß
Peter
AW: Bildschirmauflösung ändern
24.12.2003 23:04:42
Stefan Glander
Hallo Peter,
ich möchte das sich die Bildschirmauflösung bei Öffnung der Tabelle auf 1280 x 1024 ändert
Gut wäre natürlich, um den User nicht zu verärgern, das sich die Auflösung beim schliessen wieder auf seine Ausgangswerte ändert.
Recht Herzlichen Gruss
Stefan
Anzeige
Bildschirmauflösung ändern (noch OFFEN)
24.12.2003 23:31:46
PeterW
Hallo Stefan,

beim Punkt der aktuellen Auflösung muss ich passen. Allerdings möchte ich zu Bedenken geben, dass du die Auflösung auch dann wieder zurücksetzen müsstest, wenn der User deine Mappe minimiert, in eine andere Anwendung oder in eine andere Mappe wechselt ... Warum willst du einen User mit einer möglichen Sehschwäche zu einer so hohen Auflösung zwingen, die ganz nebenbei bemerkt nicht von allen Monitoren (TFT) unterstützt wird?

Gruß
Peter
AW: Bildschirmauflösung ändern (noch OFFEN)
24.12.2003 23:37:41
Stefan Glander
Hallo Peter,
es handelt sich hierbei nur um meinen Schwager für den die Datei interessant ist.
Er fährt auf seinem Rechner ne 800 x 600 Auflösung.
Ich kann das Problem sicher auch mit zoom lösen, habe nur beim stöbern im Archiv gelesen das man die Bildschirmauflösung auch ändern kann.
Naja und das wollte ich eben probieren.
Gruss
Stefan
Anzeige
AW: Bildschirmauflösung ändern (noch OFFEN)
24.12.2003 23:55:58
PeterW
Hallo Stefan,

mal unterstellt, dass dein Schwager nicht gleichzeitig an anderen Dateien arbeitet kopiere folgende Zeilen in das allgemeine Modul, in dem schon der von dir gepostete Code steht.

Sub ChangeTo800()
Call ChangeScreenResolution(800, 600)
End Sub

Sub ChangeTo1280()
Call ChangeScreenResolution(1280, 1024)
End Sub

In das Modul DieseArbeitsmappe gehören dann noch die Zeilen:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ChangeTo1280
End Sub


Private Sub Workbook_Open()
ChangeTo800
End Sub

Sinnnvoll finde ich das aber immer noch nicht. ;-)

Gruß
Peter
Anzeige
AW: Bildschirmauflösung ändern (noch OFFEN)
25.12.2003 01:35:53
Stefan Glander
Peter, ich habe doch am Anfang geschrieben das ich nicht weiss wo ich das hinschreiben soll, schnief
Gruss
Stefan
AW: Bildschirmauflösung ändern (noch OFFEN)
25.12.2003 07:26:21
Reinhard
Moin Stefan,
Wenn es an den Basics hängt, mach Alt+F11, der Editor öffnet sich. Klicke doppelt links auf 'DieseArbeitsmappe' und kopiere mit strg-c ... strg-v Peters-Code für DieseArbeitsmappe hinein.
Dann über 'Einfügen--->Modul fügst du ein Modul ein, klickst wieder doppelt auf das eben eingefügte Modul links und fügst da den anderen Code ein.
Mit Alt+F11 wieder in die Arbeitsmappe wechseln, speichern, schließen.
Beim nächsten Öffnen siehst du ob das Licht angeht, äh, die Makros klappen :-)
Gruß
Reinhard
Anzeige
AW: Bildschirmauflösung ändern (noch OFFEN)
25.12.2003 14:58:36
Stefan Glander
Hallo Reinhard,
Danke Dir für Deine Hilfe,
aber irgendwie stimmt da auch mit dem Code etwas nicht oder ich bin zu blöd.
Ich glaube ich vergesse das ganze einfach.
Wie gesagt danke Dir aber trotzdem sehr
Ruhiges Fest noch
Stefan Glander

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige