Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[VB.NET 2005] Kan ActiveX-onderdeel niet maken

Pagina: 1
Acties:
  • 1.563 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een applicatie ontwikkeld die eerst 2 excel documenten inleest en vervolgens 1 urenplanning genereert voor alle projecten. Hij werkt op een bepaalde pc niet, bij het inladen van het excel document krijg ik de volgende foutmelding:

Kan ActiveX-onderdeel niet maken

die wijst naar de volgende regel code:
xlBook = GetObject(opn.FileName)

waarbij opn.FileName het excel bestand is dat de gebruiker inleest.
nou had ik op google gevonden dat het aan een office update lag maar diegene wist niet meer welke.
Er stond ook bij dat office opnieuw installeren niet helpt.

Het gaat om office 2003, dan Excel, de betreffende pc heeft sp2, versie nummer is: 11.8142.8132

Ik heb een aantal updates geprobeerd te downloaden vanaf de microsoft office site maar die stonden al op de betreffende pc. Ik weet niet meer waar ik moet zoeken dus hoop dat iemand dit probleem herkend en weet om welke update het gaat of een andere oplossing ?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Heb je ook wat code zodat we niet in het duister tasten voor wat betreft wat je nu precies doet?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII schreef op maandag 13 augustus 2007 @ 16:14:
Heb je ook wat code zodat we niet in het duister tasten voor wat betreft wat je nu precies doet?
Ja hoor ik heb 650 regels code. Ik weet bijna zeker dat het niet aan de code ligt omdat ik de applicatie op 4 systemen heb getest waarvan alleen 1 pc het niet doet. Ik heb de regel code waar de fout optreedt in mijn probleemstelling meegenomen. Als je toch denk dat het in de code zit wil ik wel wat posten, ik zal nog kort uitleggen welke stappen ik doe. Gebruiker leest 2 excel documenten in. Ik haal bepaalde data eruit en schrijf het naar XML. Vervolgens kiest de gebruiker een locatie om op te slaan en wordt er 1 excel document gegenereert. De fout ontstaan bij het laden van het document.

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
    Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
        'Try
        opn.Filter = "Excel Files (*.xls)|*.xls"
        opn.ShowDialog()
        tbLocatie.Text = opn.FileName
        xlBook = GetObject(opn.FileName)
        'Catch ex As Exception
        'End Try
    End Sub

ik kwam achter deze foutmelding doordat ik de try en catch heb uitgezet.

ik heb nog 2 dingen geprobeerd en dat is DAO3.60.dll te registreren ( zie You receive a "ActiveX component can't create object" error message when using Access ) en msxml4.0 ( zie http://www.vbcentral.nl/F...2/view/topic/Default.aspx ) te installeren.
beiden losten mijn probleem niet op.
ik heb ook nog aantal .ocx bestanden geregistreerd (http://www.pixbook.net/do...ime-error-429.xml?lang=nl) maar dat hielp niet.

[ Voor 9% gewijzigd door Verwijderd op 13-08-2007 16:30 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 13 augustus 2007 @ 16:23:
[...]
Ja hoor ik heb 650 regels code.
My bad... ik had moeten zeggen relevante code...
Verwijderd schreef op maandag 13 augustus 2007 @ 16:23:
Ik heb de regel code waar de fout optreedt in mijn probleemstelling meegenomen.
Dat was dus te weinig ;)

Wat betreft je foutmelding (GetObject...): waarom maak je niet expliciet een Excel object en open je daarmee de file?
Verwijderd schreef op maandag 13 augustus 2007 @ 16:23:
ik heb nog 2 dingen geprobeerd en dat is DAO3.60.dll te registreren ( zie You receive a "ActiveX component can't create object" error message when using Access ) en msxml4.0 ( zie http://www.vbcentral.nl/F...2/view/topic/Default.aspx ) te installeren.
beiden losten mijn probleem niet op.
ik heb ook nog aantal .ocx bestanden geregistreerd (http://www.pixbook.net/do...ime-error-429.xml?lang=nl) maar dat hielp niet.
Nogal wiedes dat dat niet werkt; de eerste link heeft betrekking op Access (en de Data Access Objects), de tweede op MSXML. Beide hebben niets (of erg weinig) met je probleem te maken. Je kunt niet een (erg generieke) foutmelding proberen op te lossen door maar in het wilde weg componenten te gaan registreren :X Die laatste link verwijst zelfs naar componenten die doorgaans problemen opleveren met VB6 en hebben dus niets (of wederom erg weinig) met VB.Net te maken ;)

[ Voor 51% gewijzigd door RobIII op 13-08-2007 16:35 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII schreef op maandag 13 augustus 2007 @ 16:32:

Wat betreft je foutmelding (GetObject...): waarom maak je niet expliciet een Excel object en open je daarmee de file?
xlBook is een Excel object, die heb ik gedeclareerd als Excel.Workbook. En deze applicatie werkt prima op de andere 3 geteste systemen. Wat ik op internet vind is dat het aan ocx of dll bestanden ligt die niet zijn geinstalleerd of niet geregistreerd. Ik zoek het nog steeds niet in mijn code maar in die ocx bestanden en DAO.

het is inderdaad geen vb6 en geen access maar ik werk wel met XML, dus daarmee ben ik het niet met je eens dat het geen betrekking op mij heeft. Ik zet de data uit het excel document tijdelijk in een xml document voordat ik het weer gebruik in het genereren van het gewenste excel document.

Voor de duidelijkheid: het gaat om het inlezen van werknemers en materialen bij bepaalde projecten.
De output moet een excel document zijn waar je per project kan zie wie er wanneer is ingedeeld.

[ Voor 30% gewijzigd door Verwijderd op 13-08-2007 16:42 ]


  • fleppuhstein
  • Registratie: Januari 2002
  • Laatst online: 21-10 21:48
Misschien een hele basis vraag, maarja daar begin je altijd met troubleshooting.

- Werkt excel goed op de pc die problemen geeft ?
- Zit er versie verschillen tussen de diverse excel-programma's ?
- Worden er identieke excel file's gebruikt op alle pc's , anders kan de fout misschien nog worden veroorzaakt door de file ?

Verwijderd

Topicstarter
fleppuhstein schreef op maandag 13 augustus 2007 @ 16:43:
Misschien een hele basis vraag, maarja daar begin je altijd met troubleshooting.

- Werkt excel goed op de pc die problemen geeft ?
- Zit er versie verschillen tussen de diverse excel-programma's ?
- Worden er identieke excel file's gebruikt op alle pc's , anders kan de fout misschien nog worden veroorzaakt door de file ?
- excel werkt prima.
- er zitten wel versie verschillen ja tussen de excel programma's, ik heb 2 systemen bij de hand, op het andere werkende systeem zit excel versie: 11.6560.6568 ook SP2. de niet werkende pc heeft een iets hogere versie. maar beiden pc's werken met SP2. van de andere 2 werkende systemen kan ik momenteel de versie niet achterhalen, vanavond kan ik nog 1 versie achterhalen, dan zal ik dit bericht editen en het erbij zetten.
- Ja, er worden identieke excel file's gebruikt op alle pc's om in te lezen, dus dat kan het probleem niet zijn.

Verwijderd

Topicstarter
ik vond op dit forum iemand met hetzelfde probleem, geen oplossing maar wel een antwoord terug.
http://www.thescripts.com/forum/thread347586.html
Namelijk dat hij dll of ocx bestanden mist, dat komt overeen met mijn gedachte.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 13 augustus 2007 @ 16:39:
[...]
xlBook is een Excel object, die heb ik gedeclareerd als Excel.Workbook.
En vervolgens probeer je met GetObject impliciet nog eens een Excel.workbook te maken, maar dat mislukt (omdat GetObject faalt) ;)
Verwijderd schreef op maandag 13 augustus 2007 @ 16:39:
En deze applicatie werkt prima op de andere 3 geteste systemen. Wat ik op internet vind is dat het aan ocx of dll bestanden ligt die niet zijn geinstalleerd of niet geregistreerd. Ik zoek het nog steeds niet in mijn code maar in die ocx bestanden en DAO.
Dat klopt ook maar daarom zou ik niet op de GetObject vertrouwen (god knows wat die terug geeft) en expliciet een Excel object maken en dan gewoon de load(file?) method ofzo gebruiken. Of benader je file m.b.v. DAO, maar dan gebruik je dus geen excel objecten maar dataadapters e.d. ;)
En anders geef je expliciet de class mee (GetObject(MyFile, "Excel.Application"))
Verwijderd schreef op maandag 13 augustus 2007 @ 16:39:
het is inderdaad geen vb6 en geen access maar ik werk wel met XML, dus daarmee ben ik het niet met je eens dat het geen betrekking op mij heeft.
Op het moment dat 'ie klapt doe je toch niets met XML? Dus heeft het geen betrekking op de fout die je krijgt ;)

[ Voor 6% gewijzigd door RobIII op 13-08-2007 17:00 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII schreef op maandag 13 augustus 2007 @ 16:54:
Dat klopt ook maar daarom zou ik niet op de GetObject vertrouwen (god knows wat die terug geeft) en expliciet een Excel object maken en dan gewoon de load(file?) method ofzo gebruiken.
Dat ga ik nog proberen

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 14:29

sopsop

[v] [;,,;] [v]

Verwijderd schreef op maandag 13 augustus 2007 @ 16:23:
[..]ik kwam achter deze foutmelding doordat ik de try en catch heb uitgezet.[..]
Dit is ook wel een beetje oneigenlijk gebruik van try/catch. Dit is geen fouten afvangen, dit is fouten negeren. En als er dan wat fout gaat loopt het programma gezellig door totdat je een keer geen try - geen catch constructie hebt gebruikt.

Ik neem aan dat je in VB6 hebt geprogrammeerd en dat je daar "on error resume next" gebruikte :) Ik adviseer je toch even om je te verdiepen in de foutafhandeling. Als je dat gewoon in een keer goed doet gebeuren dit soort dingen niet meer en scheelt je dit veel ergernis.

Verwijderd

Topicstarter
sopsop schreef op dinsdag 14 augustus 2007 @ 08:57:
[...]

Dit is ook wel een beetje oneigenlijk gebruik van try/catch. Dit is geen fouten afvangen, dit is fouten negeren. En als er dan wat fout gaat loopt het programma gezellig door totdat je een keer geen try - geen catch constructie hebt gebruikt.

Ik neem aan dat je in VB6 hebt geprogrammeerd en dat je daar "on error resume next" gebruikte :) Ik adviseer je toch even om je te verdiepen in de foutafhandeling. Als je dat gewoon in een keer goed doet gebeuren dit soort dingen niet meer en scheelt je dit veel ergernis.
je hebt inderdaad gelijk ja, bedankt voor de tip. Ik gebruik al meer condities om fouten te voorkomen.
Pagina: 1