Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
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
Inhaltsverzeichnis

Makro ergänzen

Makro ergänzen
03.02.2009 08:40:00
Achim
Hallo Excel freunde
Wer kann ergänzen?
in meiner textbox1 steht folgender text
D:\01_tc_blau_weiss_harpen\01_Vereinsverwaltung\01_Weitere Ordner\Satzung,Aufnahmeantrag,Beitragsordnung\PDF\Deckblatt Satzung.pdf
nun möchte ich das die datei göffnet wird mit folgenden code. ich komme nun nicht mehr weiter. wer kann da ergänzen?
Dim sh As Object
Set sh = CreateObject("Shell.application")
sh.Open ?
Gruß
achim h.

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ergänzen
03.02.2009 09:01:00
Hajo_Zi
Hallo Achim,
Datei öffnen Word, Powerpoint oder sonstwas
Option Explicit
Declare

Function ShellExecute Lib "SHELL32.DLL" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Sub Open_File(strFileName As String, windowType As Integer)
ShellExecute 0, "Open", strFileName, "", "", windowType
End Sub



Sub test()
'1 = vbNormalFocus
'2 = Minimized
'3 = Maximized
Open_File "c:\DeineDatei.txt", 1
End Sub


‘ von Ramses Rainer
http://clever-forum.de/read.php?11,128213,128217#msg-128217
Gruß Hajo

Anzeige
danke
03.02.2009 12:55:00
Achim
hallo Hajo_Zi
habe die lösung von ramses nun in die reihe bekommen und es funzt nun bei mit. danke
gruß
achim h.
AW: Makro ergänzen
03.02.2009 09:04:00
ramses
Hallo
das gehört in ein Modul deiner Mappe
Option Explicit
Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Function Call_Parent_Exe(strDatei As String)
'Die letzte Variable "Anzeigestatus" sollte in nummerischer Form erfolgen
'weil sie sonst bei TXT Dateien nicht funktioniert
'1 SW_HIDE Hides the window and activates the executable file.
'2 SW_MAXIMIZE Maximizes the window.
'3 SW_MINIMIZE Minimizes the window. The next top-level window in the Z-order is activated.
'4 SW_RESTORE Activates the window even if it is hidden or minimized
'5 SW_SHOW Activates the window and displays it in its original size and at its original position.
'6 SW_SHOWMAXIMIZED Activates the window. The window is displayed as maximized.
'7 SW_SHOWMINIMIZED Activates the window. The window is displayed as minimized.
'8 SW_SHOWMINNOACTIVE Activates the window as minimized. The active window retains the focus.
'9 SW_SHOWNA Activates the window in its current state but the active window retains the focus.
'0 SW_SHOWNOACTIVATE Displays the window in its most recent size and in its most recent position. The active window retains the focus.
'10 SW_SHOWNORMAL Displays the window in its original size and at its original position.
Dim extExe
extExe = ShellExecute(0&, "Open", strDatei, 0&, 0&, 6)
End Function


Dann kannst du die Datei mit einem Commandbutton in deiner Userform so öffnen lassen


Private Sub Commandbutton1_CLick()
Call_Parent_Exe Me.Textbox1.Text
End Sub


Gruss Rainer

Anzeige
AW: Makro ergänzen
03.02.2009 13:07:00
Luschi
Hallo Rainer,
ich staune, wie flexibel die Win-API-Funktionen auf Übergabe-Parameter reagieren.
Lt. Definition erwartet die 'ShellExecute'-Funktion an 4. und 5. Stelle je einen String-Wert.
Du übergibst aber immer einen Long-Wert und trotzdem funktioniert es.
Manchmal frage ich mich, ob darin nicht ein genereller Systemfehler von Windows liegt.
Es mag ja schick sein, auf falsch übergebene Übergabeparameter so zu reagieren, aber i.O
kann das nicht sein. Da braucht man sich nicht zu wundern, das Windows voller Bugs steckt
und aller 5 Minuten von M$ an allen möglichen Stellen nachgeschustert werden muß.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Makro ergänzen
03.02.2009 09:15:00
Luschi
Hallo Achim,
ich verstehe nicht, warum Du meinen Tipp: https://www.herber.de/forum/messages/1044950.html
nicht versuchst umzusetzen. Habe gerade nochmals diese Variante getestet. Klappt exellent; man muß nicht wissen, welches Programm als Standardprogramm für pdf-Dateien in der Windows-Registry hinterlegt ist und in welchem Pfad sich das Standard-Programm befindet - die PDF-Datei wird geöffnet.
Wenn Du Probleme hast, diesen Tipp umzusetzen, dann frage danach; aber garnicht darauf zu reagieren ist für mich unverständlich.
Gruß von Luschi
aus klein-Paris
PS: Der Shell-Funktion ist genauso eine Krücke wie der SendKeys-Befehl!
Anzeige
AW: Makro ergänzen
03.02.2009 10:38:00
Achim
Hallo Luschi
Sorry. Aber ich bekomme das einfach nicht hin.
Kannst du mir trotzdem mit einem beispiel zur seite stehen?
Gruß
achim h.
Warum...
03.02.2009 11:43:00
Ramses
Hallo
"...Kannst du mir trotzdem mit einem beispiel zur seite stehen?..."
Ich habe dir ein Beispiel gesandt und wie du es umsetzen musst.
Wenn du auch das nicht kannst, lass es bleiben.
Gruss Rainer
AW: Warum...
03.02.2009 11:53:04
Achim
oh böse worte
gruß
achim
Natürlich....
03.02.2009 12:04:00
Ramses
Hallo
"...oh böse worte ..."
Was glaubst du denn ?
Du erhältst eine korrekte funktionierende Lösung für dein Problem, und eine Stunde später laberst du erneut nach einer Beispiellösung ?
Das heisst doch, dass du die Antworten überhaupt nicht liest.
Was erwartetst du denn ?
Dass hier alle auf DEINE Frage gnädigst warten, Zeit dafür verplempern und dann solche Sprüche kommen !?
Gruss Rainer
Anzeige
Habe die lösung einstellen können. Danke
03.02.2009 12:50:00
Achim
Habe die lösung nun einstellen können. Sorry bin immer noch nicht so ganz geübt. Funzt nun aber sehr gut.
Danke
achim h.
danke
03.02.2009 12:53:00
Achim
habe auch dein lösungsvorschlag getestet. klappt nun danke
achim h

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige