Ik ben bezig met een VBA script die PKunzip.exe aanroept. Ik laat PKunzip een lijst maken en de bedoeling is dat ALS PKunzip klaar is dat ik deze lijst gelijk ga uitlezen met een "open for input" statement. Het probleem is echter dat mijn script niet wacht totdat PKunzip klaar is. Dit resulteert in een error daar het te lezen bestand nog niet bestaat ... Met het filesystem object kan ik wel controleren of het bestand aanwezig is maar niet of het al is afgesloten door PKunzip. Ik zoek dus een manier om te controleren op het Shell commando beeindigd is.
Ik heb het volgende gemaakt (beetje geknipt en geplakt voor mijn post):
Op internet vond ik een antwoord ... maar dit werkt alleen in Access 2.0
:
Weet iemand een manier om dit voor elkaar te krijgen met Access 2000?
Ik heb het volgende gemaakt (beetje geknipt en geplakt voor mijn post):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Function MakeZipList() As Boolean
MakeZipList = Shell("DoSomething.exe", 1)
End Function
Function ReadZipFile(myZipList)
Open myZipList For Input As #2
Do While Not EOF(2)
Input #2, myFile
Loop
Close #2
End Function
Sub Main()
If MakeZipList() then
ReadZipFile(myZipList)
End if
End Sub |
Op internet vond ik een antwoord ... maar dit werkt alleen in Access 2.0
code:
1
2
3
4
5
6
7
8
9
10
11
12
| Declare Function GetModuleUsage Lib "Kernel" (ByVal hModule As Integer) As Integer
Sub test()
Dim hModule As Integer
hModule = Shell("something.exe", 1)
Do While GetModuleUsage(hModule)
DoEvents
Loop
DoCmd.Echo True, "This message will only come up when whatever.exe has finished"
End Sub |
Weet iemand een manier om dit voor elkaar te krijgen met Access 2000?
2.730 Wp Enphase Zuid 30°, 4.450 Wp Enphase Noord 30° | Smart EVSE laadpaal | Victron Multiplus II 48/5000/70 3 Fase | 45kWh PylonTech Pelio accu