Desktop Eigenschaften abfragen

Hallo zusammen,

kann man aus EXCEL festellen, welche Schriftgröße für den Desktop eingestellt wurde?

Oder gibt es eine andere Idee bei folgendem Hintergrund:

EXCEL hat ja, wie wohl bekannt, manche Abgründe. Neuerdings quälen mich user, die andere Einstellungen des Desktops verwenden. Man sollte meinen, das ist doch egal, aber weit gefehlt.

Dazu folgendes, nicht ganz „schnelles“ Experiment. Man erstelle ein Blatt mit einer recht gut mit Text gefüllten Zelle. Formatiere diese mit Zeilenumbruch und Optimaler Zeilenhöhe. Druckvorschau: Alles ist (mehr oder weniger) zu sehen.

Nun ändere man die Einstellungen des Desktops auf „Große Schriftart“ und wiederhole das Ganze (leider neu Starten!) Und siehe da, es fehlen Zeilen oder diese sind abgeschnitten.

mfg

Dirk.Pegasus

kann man aus EXCEL festellen, welche Schriftgröße für den
Desktop eingestellt wurde?
Nun ändere man die Einstellungen des Desktops auf „Große
Schriftart“ und wiederhole das Ganze (leider neu Starten!) Und
siehe da, es fehlen Zeilen oder diese sind abgeschnitten.

Hi Dirk,
sowas stand vielleicht bei früheren Windowsversionen unter [desktop] in der win.ini.
Jetzt steht es vielleicht in der Registry.
Tipp, suche in den Freewareseiten nach regmon und filemon. Damit zeichnest du Änderungen in ateien bzw an der Registry auf. Dann ändere die Schriftart und forsche nach wo,was,wie geändert wurde.
Gruß
Reinhard

Hallo Reinhard,

soweit klar, und wie komme ich dann an diese Daten aus EXCEL ran? Gibt’s da Methoden um ggfs. die Registry zu lesen?

mfg

Dirk.Pegasus

soweit klar, und wie komme ich dann an diese Daten aus EXCEL
ran? Gibt’s da Methoden um ggfs. die Registry zu lesen?

Hi Dirk,
ja, aber man muss halt ganz genau wissen wie der Eintrag heißt und was eingetragen wird. Weiterhin muss man sicherstellen dass, falls die Datei irgendwann weitergegeben wird oder man den Rechner wechselt, dies alles auch für andere Windowsversionen gilt. Und was ist wenn ein Applefan die xls erhält.
Gruß
Reinhard

Hallo Reinhard,

Danke für die Hinweise.

Ich „öebe“ in einer geschützten Umwelt: MS forever!

Bis auf weiteres kann ich sogar unterstellen, das alle EXCEL Versionen identisch sind!

Also: Wie komm ich an die Registry?

mfg

Dirk.Pegasus

Also: Wie komm ich an die Registry?

Hi Dirk,
nachfolgend ein Beispiel aus dem Inet um den Netzusernamen auszulesen.

Private Declare Function RegQueryValueExString Lib "advapi32.dll" Alias \_
 "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As \_
 String, ByVal lpReserved As Long, lpType As Long, \_
 ByVal lpData As String, lpcbData As Long) As Long

Private Declare Function RegQueryValueExByte Lib "advapi32.dll" Alias \_
 "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As \_
 String, ByVal lpReserved As Long, lpType As Long, \_
 lpData As Any, lpcbData As Long) As Long

Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias \_
 "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, \_
 ByVal ulOptions As Long, ByVal samDesired As Long, phkResult \_
 As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" \_
 (ByVal hKey As Long) As Long

Declare Function GetUserName& Lib "advapi32.dll" Alias "GetUserNameA" (ByVal \_
lpBuffer As String, nSize As Long)

Private Const HKEY\_LOCAL\_MACHINE = &H80000002
Private Const KEY\_QUERY\_VALUE = &H1

Sub SchlüsselinhaltLesen()
Dim Hauptschlüssel$, Schlüssel$, Schlüsselinhalt$
Dim Länge&, dummy
Dim Schlüsselhandle&, Typ&
Hauptschlüssel = "Network\Logon"
Schlüssel = "username"
dummy = RegOpenKeyEx(HKEY\_LOCAL\_MACHINE, \_
 Hauptschlüssel, 0&, KEY\_QUERY\_VALUE, Schlüsselhandle)
If dummy 0 Then GoTo fehlerbehandlung
dummy = RegQueryValueExString(Schlüsselhandle, \_
 Schlüssel, 0&, Typ, Schlüsselinhalt, Länge)
Schlüsselinhalt = String(Länge, 0)
dummy = RegQueryValueExString(Schlüsselhandle, \_
 Schlüssel, 0&, Typ, Schlüsselinhalt, Länge)
Schlüsselinhalt = Left(Schlüsselinhalt, Länge - 1)
fehlerbehandlung:
dummy = RegCloseKey(Schlüsselhandle)
End Sub

Sub UsernameLesen()
Dim Username$, Länge&
Username = Application.Username
Username = String(256, 0)
Länge = 255
Call GetUserName(Username, Länge)
Username = Left(Username, Länge - 1)
End Sub 

Gruß
Reinhard

Oder einfacher

Also: Wie komm ich an die Registry?

Hi Dirk,
nimm GetSetting
Gruß
Reinhard