2010-09-06 11 views
1

En utilisant Visual Basic 2008 Express EditionEst-il possible d'ajouter une référence à une version d'Excel si elle n'est pas actuellement installée?

2 PC sont impliqués:

PC1 a VBEE et Excel 2007 est installé
PC2 (machine cible) n'a pas VBEE installé et a Excel 2000

Qu'est-ce que Je suis en train d'accomplir est de construire une application sur PC1 à utiliser sur PC2.

Bien sûr, lorsque je fais référence à la bibliothèque 12.0 pendant la construction et que j'essaie ensuite d'exécuter en utilisant 9.0 sur la machine cible, je reçois un message "Impossible de trouver la bibliothèque d'objets 12.0". En outre, je ne peux pas utiliser la liaison tardive (comme indiqué ci-dessous): les paramètres de sécurité de PC2 interdisent apparemment ce ...

Dim objExcel As Object 'Excel.Application 
    Dim objWB As Object 'Excel.Workbook 
    Dim objWS As Object 'Excel.Worksheet 
    Dim objRng As Object 'Excel.Range 

    Try 
     'Try to Open Excel, Add a workbook and worksheet 
     objExcel = CreateObject("Excel.Application") 'New Excel.Application 

    etc... 

Alors, est-il possible d'ajouter une référence à Excel 9.0 sans elle réellement installé sur le même machine que VBEE?

Existe-t-il un autre moyen de contourner ce problème?

+0

Vous semblez utiliser une liaison tardive, alors pourquoi avez-vous besoin de la bibliothèque? (http://www.vbforums.com/showthread.php?t=455162) – Fionnuala

+0

Salut Remou. "J'ai également essayé, mais je ne peux pas :-( " De plus, je ne peux pas utiliser la reliure tardive (comme indiqué ci-dessous): les paramètres de sécurité du PC2 l'interdisent apparemment ... " – MSD

+0

Je sais très peu à ce sujet, mais AFAIK Il n'y a que deux choix, soit utiliser la première bibliothèque d'utilisation de liaison tardive.Avez-vous mis Option Strict On, parce qu'apparemment cela vous empêche d'utiliser la liaison tardive? Quelle erreur obtenez-vous avec le 2ème PC? Si rien d'autre, ces questions peuvent être d'utilisation à d'autres qui souhaitent aider. – Fionnuala

Répondre

0

Bien sûr, je le fais tout le temps. Vous aurez besoin de saisir les TLB (ou l'EXE ou la DLL principale que vous avez à référencer) de la machine avec l'ancienne version, copier IT à votre machine dev (de préférence quelque part dans votre projet afin que vous puissiez le mettre sous VCS, cause J'ai juste fait cela avec Word, Excel, PPT et Outlook, en codant avec un addin qui devait fonctionner dans tout ce que j'ai fait avec succès dans Word, Excel, PPT et Outlook. à partir d'office 2000 à 2010.

Je saisis toutes les TLB pertinentes et les DLL qui contiennent les TLB de diverses machines elles, située au centre, et les copies référencé.

Avec .NET, vous pouvez même sim ensuite référencer plusieurs tlbs WORD (même si je n'avais pas besoin de le faire). Avec VB6, vous ne pouvez pas vraiment aller aussi loin, mais encore une fois, vous ne devriez pas en avoir besoin.