Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
536to540
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
536to540
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bild in der Mitte des Bildschirms per VBA ........

Bild in der Mitte des Bildschirms per VBA ........
28.12.2004 11:54:42
Sonnenpeter
Hallo zusammen,
ist es möglich ein Bild in der Mitte des Bildschirms per VBA zentrieren?
Ich meine jeweils in der Mitte egal in welcher Zeile oder Spalte ich mich gerade befinde.
Gruß / Sonnenpeter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild in der Mitte des Bildschirms per VBA ....
Ramses
Hallo
Klar geht das :-)
Bildschirmauflösung abfragen
Bildgrösse abfragen
und dann ein bischen Mathematik :-)
Wenn das Bild nicht grösser als der Bildschirm ist, sollte es gehen
Damit kannst du die Auflösung abfragen
Declare

Function GetDeviceCaps Lib "gdi32" _
(ByVal hdc As Long, ByVal nIndex As Long) As Long
Declare 

Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Declare 

Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hdc As Long) As Long
Declare 

Sub ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long)
Const HORZRES = 8
Const VERTRES = 10
'Abrufen der Bildschirmauflösung

Function GetScreenRes()
Dim lRval As Long
Dim lDc As Long
Dim lHSize As Long
Dim lVSize As Long
lDc = GetDC(0&)
lHSize = GetDeviceCaps(lDc, HORZRES)
lVSize = GetDeviceCaps(lDc, VERTRES)
lRval = ReleaseDC(0, lDc)
GetScreenRes = lHSize & "x" & lVSize
End Function


Sub Test()
Select Case GetScreenRes
Case "1280x1024"
MsgBox "1280"
Case "1024x768"
MsgBox "1024"
Case Else
'usw
MsgBox "unbekannte Auflösung"
End Select
End Sub

und mit
ActiveSheet.Shapes("Picture 1").width
ActiveSheet.Shapes("Picture 1").height
kriegst du die Breite und Höhe des Bildes "Picture 1".
Den Rest kannst du dir dann ja ausrechnen
Gruss Rainer
Anzeige
AW: Bild in der Mitte des Bildschirms per VBA ........
28.12.2004 12:05:19
Hajo_Zi
Hallo Sonnenpeter,
bei VBA gut reicht ja ein Ansatz. Lese die Bildschirmauflösung aus.
https://www.herber.de/bbs/user/15353.xls
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Home und Excel Version XP 2003 SP1.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro SP2 und Excel Version 2003 SP1.


AWmal raus aus offen.........
Helena
mal raus aus offen.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2
Anzeige
? mal raus aus offen.........
28.12.2004 19:50:44
Sonnenpeter
Hallo Helena,
was meinst Du?
Gruß / Sonnenpeter
AW: Bild in der Mitte des Bildschirms per VBA ........
28.12.2004 19:20:30
Sonnenpeter
Hallo Ihr beiden,
bastele schon den ganzen Nachmittag funktionert nichts.
Gruß / Sonnenpeter
Irrweg ?
28.12.2004 23:29:27
Sonnenpeter
Hallo Hajo,
hallo Ramses,
der Tipp mit der Bildschirmauflösung ist bei Excel wohl ein Irrweg?
Habe noch kräftig Google benutzt und nichts gefunden.
Mitlerweile habe ich es aber geschafft!!!
Wenn Ihr nicht besseres habt stelle ich das Makro gerne ein.
Will mich natürlich nicht blamieren, habe schließlich über 10 Std. dazu gebraucht einen Lösungsweg zu finden.
Na ja, wenn mich das Excelfieber packt, kann ich leider nicht locker lassen.
Gruß / Sonnenpeter
Anzeige
AW: Irrweg ?
Ramses
Hallo
Warum Irrweg ?
Ich kann die Auflösung pixelgenau abfragen.
(Weite / 2 gibt die Mitte des Bildschirms) - (Breite des Bildes / 2 )
und schon habe ich die Position "Left" des Bildes
(Höhe / 2 gibt die Mitte des Bildschirms) - (Höhe des Bildes / 2 )
und schon habe ich die Position "TOP" des Bildes.
Damit kann ich das Bild genau mittig platzieren indem ich die TOP LEFT Position des Bildes angebe.
Aber zeig mal deinen Code.
Gruss Rainer
AW: Irrweg ?
29.12.2004 17:38:42
Sonnenpeter
Hallo Rainer,
wie soll das gehen? Bei Excel ist die Zelle A1 Top 0 und Left 0.
Die Zelle IV65536 ist je nach Spaltenbreite und Zeilenhöhe
bis zu Top 24.575,25 und Left bis zu 26.787.431,25 merkst Du was?
Uber A1 ist ja noch ein bischen was (je nach dem wie die Symbolleisten angeordnet sind).
Unter IV65536 ist dann noch die Statusleiste, yep.
Na ja, für mich immer noch ein Irrweg "mit der Bildschirmauflösung.
Fertige Lösungen gibt es da wohl noch keine?
Gruß / Sonnenpeter
Anzeige
AW: Irrweg ?
Ramses
Hallo
Ich gehe natürlich davon aus, dass EXCEL im Vollbildmodus läuft und kann in meinem Vorschlag nicht auf individuelle Probleme deiner Anwendung eingehen da ich sie nicht kenne.
Du könntest ja noch die sichtbare linke obere Zelle abfragen für deine Berechnungen.
Läuft EXCEL nicht im Vollbildmodus hast du sowieso das Problem das Bild zu platzieren, weil das Bild niemals ausserhalb des EXCEL Frame platziert werden kann.
Nur interessehalber nochmals:
Mit welchem Code löst du es jetzt ?
Gruss Rainer

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige