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

Sub oder Function nicht definiert

Sub oder Function nicht definiert
04.06.2008 13:02:54
LotharP
Hallo Zusammen,
ich habe eine Funktion, die ich nun auch schon länger in Gebrauch habe, mit der wird beim Packen einer Datei überwacht wann Winzip seinen Prozess beendet hat.
Ein Kollege aus der EDV hat mir das mal zur Verfügung gestellt.
'
' Dies ist die Function die die Ausführung überwacht
'

Public Function ShellX( _
ByVal PathName As String, _
Optional ByVal WindowStyle As Long = vbMinimizedFocus, _
Optional ByVal Events As Boolean = True _
) As Long
'Deklarationen:
Const STILL_ACTIVE = &H103&
Const PROCESS_QUERY_INFORMATION = &H400&
Dim ProcId As Long
Dim ProcHnd As Long
'Prozess-Handle holen:
ProcId = Shell(PathName, WindowStyle)
ProcHnd = OpenProcess(PROCESS_QUERY_INFORMATION, True, ProcId)
'Auf Prozess-Ende warten:
Do
If Events Then DoEvents
GetExitCodeProcess ProcHnd, ShellX
Loop While ShellX = STILL_ACTIVE
'Aufräumen:
CloseHandle ProcHnd
End Function


Er meckert er würde die Sub oder Function nicht kennen OPEN PROCESS.
Ich habe versucht die Verweise neu zu setzen.
Habe VBA for appl.
Die 11er obj Library, wobei ich diese nicht abwählen kann weil er diese ständig in Gebrauch hat!?
Dann die OLE Automation.
Komischerweise habe ich auch nochmal die 11er OBJ.Bib!?
Von den VBA F. appl. habe ich zudem sehr viele Möglichkeiten!
Hoffe es hat jemand eine Idee!?
Vielen dank im Vorraus und Gruß
Lothar

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub oder Function nicht definiert
04.06.2008 13:45:13
Rudi
Hallo,
das ist ein API-Aufruf. Du musst die Function deklarieren.
Gruß
Rudi

AW: Sub oder Function nicht definiert
04.06.2008 14:20:00
LotharP
Hallo und Danke für die Antworten!
Was bedeutet das "du musst die Funktion deklarieren"?!
Wie gesagt, das Ding hatte bisher geklappt!
Hier der geamte Code:
Option Explicit
Sub ALTPACKEN()
Dim PERIODE As String
PERIODE = Left(Right(ActiveWorkbook.Name, 8), 4)
ZIPALTPACKEN (PERIODE)
End Sub


'
Sub ZIPALTPACKEN(PERIODE)
Dim i&
Dim sPath$, sZip$
Dim dDate As String
Dim eDate
Dim ZIPNAME
dDate = PERIODE
eDate = Format(Now(), "ddmm")
sZip = "K:\PRUENTE\ASINCOPATEST\BASISREPORTS\ACCESSMONTH\ACCESSMONTH" & dDate & eDate
i = 1
Do While i ZIPNAME = "K:\PRUENTE\ASINCOPATEST\BASISREPORTS\ACCESSMONTH\BASEFY2008" & i & ".xls"
'Shell "c:\programme\winzip\winzip32.exe -min -a " & sZip & " " & ZIPNAME
'alter Aufruf ohne Warten der Anwendung, ist so FEHLERHAFT!
'##########################################################################################
ShellX "c:\programme\winzip\winzip32.exe -min -a " & sZip & " " & ZIPNAME, vbNormalFocus
'##########################################################################################
'Aufruf der Shellx Function
'ShellX "notepad.exe", vbNormalFocus Shellx "Anwendung.exe",VbNormalFocus
'Zwingt das Programm auf Winzip zu warten
i = i + 1
Kill ZIPNAME
Loop
ZIPNAME = sZip & ".zip"
sZip = "K:\PRUENTE\ASINCOPATEST\BASISREPORTS\ACCESSMONTH\ACCESSMONTH" & dDate
ShellX "c:\programme\winzip\winzip32.exe -min -a -r " & sZip & " " & ZIPNAME, vbNormalFocus
End Sub


'
' Dies ist die Function die die Ausführung überwacht
'


Public Function ShellX( _
ByVal PathName As String, _
Optional ByVal WindowStyle As Long = vbMinimizedFocus, _
Optional ByVal Events As Boolean = True _
) As Long
'Deklarationen:
Const STILL_ACTIVE = &H103&
Const PROCESS_QUERY_INFORMATION = &H400&
Dim ProcId As Long
Dim ProcHnd As Long
'Prozess-Handle holen:
ProcId = Shell(PathName, WindowStyle)
ProcHnd = OpenProcess(PROCESS_QUERY_INFORMATION, True, ProcId)
'Auf Prozess-Ende warten:
Do
If Events Then DoEvents
GetExitCodeProcess ProcHnd, ShellX
Loop While ShellX = STILL_ACTIVE
'Aufräumen:
CloseHandle ProcHnd
End Function


Angefangen wird mit ALTPACKEN!
Vieleicht hilft das weiter.
Gruß
Lothar

Anzeige
AW: Sub oder Function nicht definiert
04.06.2008 14:59:00
Rudi
Hallo,
irgendwo im Kopf des Moduls muss sowas gestanden haben:

Declare Function OpenProcess Lib "kernel32.dll" ( _
ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long


Gruß
Rudi
Google doch mal nach OpenProcess

AW: Sub oder Function nicht definiert
04.06.2008 15:05:18
LotharP
Hallo Rudi,
jepp das ist wohl richtig!!
Das wars wohl auch, da ist ein bisschen verloren gegangen!
Ich habe das Ganze noch in einer alten Version gefunden, da stands noch drin!!!!
Werds gleich probieren, auf jeden FAll vielen Dank für die Hilfe!!!
Auch den anderen beiden, die Links waren in jedem Fall eine Bereicherung, DAnke!!!!
Gruß
Lothar

Anzeige
Bitte sehr! Gruß - owT
05.06.2008 13:08:17
Luc:-?
:-?

Fürchte, dass entzieht sich einer Ferndiagnose...
04.06.2008 13:48:10
Luc:-?
...weitgehend, Lothar,
bzw müsste allesmögliche ausprobiert wdn...
Evtl kannst du es ja mal bei P@ulchen versuchen, der hat noch andere Hilfe-Möglichkeiten...
Gruß Luc :-?

AW: Sub oder Function nicht definiert
04.06.2008 14:03:25
Hoffi
Hallo,
wie Rudi schon sagt ist das eine Api Funktion.
Guck mal hier: http://www.aboutvb.de/khw/artikel/khwshell.htm
Da ist die Funktion gut beschrieben.
Grüße
Hoffi

68 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige