Ik ben bezig met een VB6 applicatie die de vele regressies die we doen moet automatiseren.
Daarvoor gebruiken we de standaard ATPVBAEN.XLA!Regress addin.
Als ik een macro maak in Excel gaat het prima.
Hier is die macro:
Als ik vervolgens deze macro kopieer naar mijn VB6 functie DoeRegressie(), die oExcel als Excel.Application meekrijgt en voor de applicatio.run oExcel. zet (wat normaal genoeg is om macros uit Excel te kunnen gebruiken in VB6) krijg ik de foutmelding:
Dit is de code in VB6:
Als ik vervolgens sRegressiePad wijzig in het volledige pad:
dan krijg ik de foutmelding:
Terwijl het bestand ATPVBAEN.XLA wel aanwezig is op de locatie.
Google gaf ook al geen resultaat, misschien dat een van jullie het weet
Ter info:
Ik gebruik Excel 2002 SP3.
Daarvoor gebruiken we de standaard ATPVBAEN.XLA!Regress addin.
Als ik een macro maak in Excel gaat het prima.
Hier is die macro:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| 'declaraties Dim ... <knip> 'init: sBlad1Naam = "Blad1" sResultaatBladnaam = "Leem" sResultaatKolom = "C" lEindeRijResultaat = 22 sStartKolom = "I" sEindKolom = sStartKolom sRegressiePad = "ATPVBAEN.XLA!Regress" Application.Run sRegressiePad, Worksheets(sBlad1Naam).Range(sResultaatKolom & "1:" & sResultaatKolom & lEindeRijResultaat), _ Worksheets(sBlad1Naam).Range(sStartKolom & "1:" & sEindKolom & lEindeRijResultaat), False, True, 95, _ Worksheets(sResultaatBladnaam).Range("$A$1"), False, False, False, False, , False |
Als ik vervolgens deze macro kopieer naar mijn VB6 functie DoeRegressie(), die oExcel als Excel.Application meekrijgt en voor de applicatio.run oExcel. zet (wat normaal genoeg is om macros uit Excel te kunnen gebruiken in VB6) krijg ik de foutmelding:
code:
1
2
| Error 1004 (ATPVBAEN.XLA kan niet worden gevonden. Controleer de spelling van de naam en de locatie van het bestand. Als u het bestand opent in de lijst met laatst geopende bestanden (menu Bestand), controleert u of de naam van het bestand is gewijzigd en of het bestand is verplaatst of verwijderd.) in procedure doeRegressie of Module modRegressie |
Dit is de code in VB6:
Visual Basic 6:
1
2
3
4
5
6
7
8
9
10
11
12
| 'init: sBlad1Naam = "Blad1" sResultaatBladnaam = "Leem" sResultaatKolom = "C" lEindeRijResultaat = 22 sStartKolom = "I" sEindKolom = sStartKolom sRegressiePad = "ATPVBAEN.XLA!Regress" oExcel.Application.Run sRegressiePad, Worksheets(sBlad1Naam).Range(sResultaatKolom & "1:" & sResultaatKolom & lEindeRijResultaat), _ Worksheets(sBlad1Naam).Range(sStartKolom & "1:" & sEindKolom & lEindeRijResultaat), False, True, 95, _ Worksheets(sResultaatBladnaam).Range("$A$1"), False, False, False, False, , False |
Als ik vervolgens sRegressiePad wijzig in het volledige pad:
Visual Basic 6:
1
| sRegressiePad = oExcel.Application.LibraryPath & "\analysis\ATPVBAEN.XLA!Regress" |
dan krijg ik de foutmelding:
code:
1
| Error 1004 (De macro C:\Program Files\Microsoft Office\Office10\BIBLIO\analysis\ATPVBAEN.XLA!Regress kan niet worden gevonden.) in procedure doeRegressie of Module modRegressie |
Terwijl het bestand ATPVBAEN.XLA wel aanwezig is op de locatie.
Google gaf ook al geen resultaat, misschien dat een van jullie het weet
Ter info:
Ik gebruik Excel 2002 SP3.