| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Screen.Heiht in VBA nicht bekannt? (1143 mal gelesen)
|
Goofy007 Mitglied Vermessungstechniker
  
 Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 13. Aug. 2006 19:49 <-- editieren / zitieren --> Unities abgeben:         
Hallo Forum! Ich habe VB-Code aus dem Internet, den ich nun in ein VBA-Projekt einzubauen möchte. Allerding habe ich nun ein Problem. Im VB-Code wird der Ausdruck Code: .Bottom = Screen.Height \ Screen.TwipsPerPixelY
verwendet. Und hier sagt AutoCad-VBA nur Zitat: Variable nicht definiert
Ich vermute nun, daß VBA das Screen Objekt (Windows Desktop) nicht kennt. Ich vermute es sollte hier 3 Möglichkeiten geben das Problem zu lösen. 1. VB-Code einbinden. Leider hab ich keine Ahnung wie das geht! 2. Ein Verweis auf die Library in der das Objekt Screen zu finden ist. Leider weis ich nicht in welcher! 3. Das Objekt existiert unter einer anderen Bezeichnung. Leider weis ich nicht unter welcher! Kann mir bitte einer von euch da weiterhelfen? PS: Ziel des Programm(-teiles) ist es, die Anzahl der Monitore und die Auflösung dieser festzustellen. Dazu verwende ich den Code aus der MS Knowledge Base Artikel Nr. 194578 (mutlimon.exe) mfg Didi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 13. Aug. 2006 20:25 <-- editieren / zitieren --> Unities abgeben:          Nur für Goofy007
|
Goofy007 Mitglied Vermessungstechniker
  
 Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 13. Aug. 2006 21:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo Carsten! Nein, die helfen leider nicht. Ich bin nicht an der Größe des Autocad-Ansichtsfenster interessiert, sondern an der Anzahl und Bildschirmauflösung der Monitor. Aber trotzdem Danke für diese rasche Antwort!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 14. Aug. 2006 07:18 <-- editieren / zitieren --> Unities abgeben:          Nur für Goofy007
Hallo Goofy, Hier noch mal was zur Auflösung des Bildschirms: Declare Function GetSystemMetrics32 Lib "User32" _ Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Sub DisplayMonitorInfo() Dim b As Long, h As Long b = GetSystemMetrics32(0) h = GetSystemMetrics32(1) MsgBox b & " x " & h, vbInformation, "Monitor Auflösung (Breite x Höhe)" End Sub Wie das jetzt mit 2 Monitoren ist, kann ich dir nicht sagen, da ich nur einen habe. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goofy007 Mitglied Vermessungstechniker
  
 Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 14. Aug. 2006 10:24 <-- editieren / zitieren --> Unities abgeben:         
|

| |
Goofy007 Mitglied Vermessungstechniker
  
 Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 15. Aug. 2006 15:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo Carsten! Danke schön, das wars. Ich habe den Code Code: .Bottom = Screen.Height \ Screen.TwipsPerPixelY
durch deinen Code Code: .Bottom = GetSystemMetrics(0)
ersetzt, und alles funktioniert so wie ich es möchte.10 Units für dich sind unterwegs !! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |