Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
448to452
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
448to452
448to452
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Internet Explorer maximieren

Internet Explorer maximieren
07.07.2004 22:31:49
Folker
Hallo,
ich möchte aus Excel einen Internet Explorer öffnen und maximieren, da er immer im verkleinerten Modus erscheint. Leider finde ich aber bei den Microsoft Internet Controls keine Funktion hierfür. Weiss jemand wie man einen IE per VBA maximiert?
Mir fällt bisher nur ein die Auflösung des Systems auszulesen und Höhe und Breite demnach zu setzen, es muss aber doch auch etwas geben um den IE direkt zu maximieren.
Vielen Dank
Folker

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

Betreff
Datum
Anwender
Anzeige
AW: Internet Explorer maximieren
07.07.2004 22:38:29
Matthias
Hallo Folker,
so geht's nicht?

Sub IExplorer()
Dim d
d = Shell("C:\Programme\Internet Explorer\IEXPLORE.EXE", vbMaximizedFocus)
End Sub

Gruß Matthias
AW: Internet Explorer maximieren
07.07.2004 22:48:16
Philipp
Hallo Folker
Die Lösung von Matthias müsste m.E. funktionieren. Da der Pfad zur IE-Programmdatei je nach System verschieden sein kann (bei mir in NT4 lautet er D:\Programme\Plus!\Microsoft Internet\IEXPLORE.EXE), ist diese Anweisung "sicherer":
CreateObject("WScript.Shell").Run "http://www.xyz.com", vbMaximizedFocus
Anstelle einer http-URL kann natürlich auch eine html-Datei angegeben werden.
Gruss
Philipp von Wartburg
¦¦¦ xlam - Excel and more!
¦¦¦ http://195.186.84.74/index.htm
Anzeige
AW: Internet Explorer maximieren
07.07.2004 23:15:15
Folker
Hallo Philipp, Matthias
ist schon mal ein guter Ansatz, aber eigentlich wollte ich mit den Microsoft Internet Controls noch ein paar mehr Funktionen ausführen und brauche daher Zugriff auf das IE Object. Kann man mit der CreateObject Methode irgendwie an die HWND kommen, damit ich das Fenster dann adressieren kann?
Mein Ansatz sieht halt momentan so aus:
Dim objIE As InternetExplorer
Set objIE = New InternetExplorer
With objIE
.Visible = True
.AddressBar = True
.Navigate "http://xxx.de"
End With
Do Until objIE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Gruß Folker
Anzeige
AW: Internet Explorer maximieren
08.07.2004 00:04:52
Philipp
Hallo Folker
Ich habe eine Lösung gebastelt, die das IE-Fenster zwar nicht maximiert, aber wenigstens unter Berücksichtigung der Auflösung bildschirmfüllend anzeigt.
Option Explicit
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
Const HORZRES = 8
Const VERTRES = 10

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 RunIE()
Dim strSize As String
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.Visible = True
.AddressBar = True
strSize = GetScreenRes
.Width = Left(strSize, InStr(strSize, "x") - 1)
.Height = Right(strSize, Len(strSize) - InStr(strSize, "x"))
.Left = 0
.Top = 0
.Navigate <a href=""http://xxx.de"">"http://xxx.de"</a>
End With
Do Until objIE.ReadyState = 1
DoEvents
Loop
End Sub

Übrigens erhältst du den Handle der IE-Instanz mit objIE.Hwnd.
Gruss
Philipp
¦¦¦ xlam - Excel and more!
¦¦¦ http://195.186.84.74/index.htm
Anzeige
AW: Internet Explorer maximieren
08.07.2004 00:46:19
Folker
Hallo Philipp,
danke für die Mühe nur bin ich damit genau bei meiner jetzigen Lösung, ich hatte den Workaround für das Setzen auf die aktuellen Bildschirmauflösung aus Platzgründen nur weggelassen. Mit Set objIE = CreateObject("InternetExplorer.Application")
habe ich im Endeffekt das gleiche wie mit Set objIE = New InternetExplorer und kann den IE nicht maximieren, bekomme aber eine HWND. Eine Lösung wäre eine Mischung, also sowas wie:
Set objIE = CreateObject("InternetExplorer.Application"), vbMaximizedFocus
oder
set xy = CreateObject("WScript.Shell").Run "c:\index.htm", vbMaximizedFocus
msgbox xy.HWND
aber keine der beiden Möglichkeiten scheint irgendwie möglich. Dann leb ich halt mit dem Workaround, wäre auch nur schön gewesen den IE richtig maximiert zu haben.
Danke
Folker
Anzeige
AW: Internet Explorer maximieren
08.07.2004 01:32:00
Philipp
Hallo Folker
Ich hab' die benötigte API-Funktion gefunden.
Füge diese API-Deklaration hinzu:
Declare Sub ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long)
Und irgendwo innerhalb der With-End With-Struktur noch diese Zeile:
ShowWindow .hwnd, 3
Den Code für die Bildschirmauflösung braucht's nicht mehr.
Gruss
Philipp
AW: Internet Explorer maximieren
08.07.2004 02:11:45
Folker
Danke werds morgen mal testen.
AW: Internet Explorer maximieren
09.07.2004 01:38:19
Folker
Danke funzt einwandfrei :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige