Archief - [PROG][VB.NET] VB.NET en Excel

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

VenomGameworld

Legacy Member
Hi,

Ik ben momenteel bezig met een programma dat Microsoft Excel aanstuurt. Ik heb de referentie gelegd (Microsoft Excel 11 Object Library) en de boel gecompileerd. Op de computer met VS2005 op werkt alles perfect, maar wanneer ik de executable open op een andere computer (ook met dezelfde versie van Office) krijg ik deze foutmelding:

error.jpg


Vroeger had ik op school ook al oefeningen gemaakt met VB.NET en Office applicaties en toen werd er ook een "Interop.Excel.dll" gebuild, deze kreeg ik deze keer wel niet. Ik heb al vanalles geprobeerd en gezocht, maar niks helpt.
Ook wanneer ik zo'n .dll file van een schoolopdracht in de Release folder plaats, werkt het niet.

Weet er iemand wat ik fout doe?
Bij voorbaat dank!

Destiser

Legacy Member
voor een proj voor school, heb ik dat probleem ook gehad. Docent kwam NIET met een oplossing.

Een alternatief is om uw programma versie-onafhankelijk te maken, maar als je complexe dingen doet met excel, kan dit ook problemen leveren.

Duffman-

Legacy Member
Hm ik heb hetzelfde probleem gehad. Bij mij was het zo dat ik het had geprogrammeerd op een PC waar enkel office 2K3 opstond. Op de andere PC stond zowel office 2K3 als office 2K7. Doordat ik op die PC ook office 2K7 had geïnstalleerd werkte het niet omdat de installatie van 2K7 bepaalde DLL's van 2K3 vervangt met nieuwere DLL's (denk ik).

Grtz,
Duffman-

Obliv`

Legacy Member
Als je op je beide computers dezelfde versie van office hebt staan, kan het ook zijn dat het probleem aan globalization ligt. Deze fout kan voorkomen wanneer op de ene PC office 2007 in het nederlands geïnstalleerd is en op de andere in het engels.

Wat je dan moet doen, is even de currentculture aanpassen:
Code:
        Dim application As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
        Dim oldCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture
        System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
        Dim workbook As Microsoft.Office.Interop.Excel.Workbook = application.Workbooks.Add()
        Dim worksheet As Microsoft.Office.Interop.Excel.Worksheet = workbook.Sheets.Add()
        
        'schrijf info naar worksheet

        worksheet.SaveAs([path])
        worksheet = Nothing

        workbook.Close()
        workbook = Nothing

        application = Nothing

        System.Threading.Thread.CurrentThread.CurrentCulture = oldCI

UniKorn

Legacy Member
Die interop wordt niet automatisch geinstalleerd. Maak een setup project en deploy het op de nieuwe mahcine en dan werkt het wel.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan