Hallo nochmal zurück.
Vorweg noch eine Information zu meiner Frage / Problem
Ablauf:
Ich öffne eine Excel.xlsm- Datei.
Über einen CommandButton öffne ich mir eine UserForm mit mehreren Eingabefeldern.
Ein CommandButton soll mir eine Bilddatei öffnen.
Hier scheitert es schon am angepassten Code von der vorherigen Antwort von Sepp
Geänderter Code:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************
Option Explicit
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CLOSE = &H10
Private lnghWnd As Long
Sub DateiPerShellObjectStarten()
Dim appSh As Object
Dim BILDPFAD As String
BILDPFAD = UserFormEINGABE.TextBoxDER_PFAD.Value _
& UserFormEINGABE.TextBoxEINLESEN.Value _
& "." _
& UserFormEINGABE.TextBox2.Value
Debug.Print BILDPFAD
'Debug.Print BILDPFAD ergibt:
'C:\temp\Bilder\3333_22_11__Klavier______________DerPfad________________________MEN.bmp
Set appSh = CreateObject("Shell.Application")
'wenn ich den Pfad der Datei per Hand eingebe oeffnet sich das Bild
appSh.Open "C:\temp\Bilder\3333_22_11__Klavier______________DerPfad________________________MEN.bmp"
'wenn ich den Pfad der Datei per zusammengesetzten Pfad ( hier BILDPFAD ) nutze dann oeffnet sich das Bild nicht
'appSh.Open BILDPFAD
DoEvents
lnghWnd = GetForegroundWindow
Set appSh = Nothing
End Sub
Sub closeFile()
If lnghWnd > 0 Then Call SendMessage(lnghWnd, WM_CLOSE, 0, 0)
End Sub
Ich möchte ein Bild oeffnen, Aenderungen in der UserForm eingeben und genau dieses geoeffnete Bild per Anweisung wieder schliessen.
Die UserForm und Excel sollen jedoch geoeffnet bleiben, um weiterere Bilder zu öffnen und per Anweisung wieder zu schliessen.
Wer kann mir helfen ( bin ziemlich neu in VBA )
Danke und Gr. Fugmann
|