Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

vba Datei öffnen Fenster - Größe per Code ändern?

vba Datei öffnen Fenster - Größe per Code ändern?
14.11.2016 12:37:51
Michael
Hallo Zusammen,
ich habe ein Script
Dateiname2 = Application.GetOpenFilename("Export (*.txt), *.txt,Export (*.xls*), *.xls*", , "Öffnen des Exports ?.xlsx")
Das Fenster ist allerdings immer sehr klein und ich würde gerne per Script die Größe anpassen. Ist das möglich?
Danke
VG
Mchael H

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba Datei öffnen Fenster - Größe per Code ändern?
15.11.2016 09:10:44
Uwe
Hallo Michael,
mache einen Doppelklick in die Kopfzeile oder ziehe mit der Maus an den Rändern des Fensters.
Excel merkt sich die letzte Einstellung.
Gruß Uwe
AW: vba Datei öffnen Fenster - Größe per Code ändern?
15.11.2016 10:39:08
Michael
Hallo Uwe,
danke für den Tip. Aber genau das möchte ich ja nicht. Daher meine explizite Frage nach VBA.
Hat da noch jemand eine Idee?
Vielen Dank.
Michael H
Mit etwas API...
15.11.2016 11:31:46
Case
Hallo Michael, :-)
... wenn du die Datei, die du mit dem Dateidialog öffnest in der Größe verändern willst: ;-)
Option Explicit
' Quelle - http://support.microsoft.com/ _
kb/147659/en-us/
Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId _
Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd As Long, _
ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function MoveWindow Lib "user32.dll" _
(ByVal hwnd As Long, ByVal X As Long, ByVal Y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _
ByVal wCmd As Long) As Long
Const GW_HWNDNEXT = 2
Public Sub Main()
Dim varFile As Variant
Dim hWindow As Long
varFile = Application.GetOpenFilename("Export (*.txt), *.txt,Export (*.xls*), *.xls*", _
, "Öffnen des Exports ?.xlsx")
If Not varFile = False Then
Workbooks.Open varFile
hWindow = SearchHndByWndName_Parent(Mid(varFile, InStrRev(varFile, "\", -1) + 1))
MoveWindow hWindow, 10, 20, 600, 800, &HF
End If
End Sub
Private Function SearchHndByWndName_Parent(ByVal strSearch As String) As Long
Dim strTMP As String * 100
Dim nhWnd As Long
nhWnd = FindWindow(vbNullString, vbNullString)
Do While Not nhWnd = 0
If GetParent(nhWnd) = 0 Then
GetWindowText nhWnd, strTMP, 100
If InStr(strTMP, strSearch) > 0 Then
SearchHndByWndName_Parent = nhWnd
Exit Do
End If
End If
nhWnd = GetWindow(nhWnd, GW_HWNDNEXT)
Loop
End Function
Servus
Case

Anzeige
Uuupppsss....
16.11.2016 06:51:54
Case
Hallo, :-)
... ich sehe gerade, dass Du ja das Fenster des Dialoges ansprechen willst. ;-)
Da wirst Du schlechte Karten haben. Da ich auch häufiger mit Dateiauswahl arbeite und die Fülle an Möglichkeiten im Dialogfenster den Usern nicht zeigen wollte, habe ich mir das mal mit einer UserForm und einem ListView nachgebaut. Das wäre eine Möglichkeit.
Servus
Case

AW: Uuupppsss....
16.11.2016 09:00:21
Michael
Hallo Case,
schade. Vielen Dank für Deine Mühe.
VG
Michael H

19 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige