2016-05-03 13 views
0

Ich habe ein Excel-Add-in in VBA geschrieben, die durch die verwendete Bereich eines Blattes iteriert und Zelle Werte manipuliert. Es ist ein einfaches Add-in, aber jetzt haben sich die Benutzeranforderungen geändert und ich möchte es in Visual Studio in C# entwickeln. Zu diesem Zweck habe ich mich mit VSTO beschäftigt, aber soweit ich es im Visual Studio verstehe, kann man AddIns für eine einzelne Version von Excel entwickeln. Ich muss Unterstützung für Excel 2010 und Excel 2013 geben. Was soll ich tun, um dieses Problem zu überwinden. Welche Visual Studio Version sollte ich verwenden?Excel-Add-In für Excel 2010 & Excel 2013 in Visual Studio

Antwort

1

Jede Version von Visual Studio von 2010 bis zur Gegenwart unterstützen sollte in der Lage seine VSTO-Add-In für Excel 2010 zu erstellen Ab Version 2012 auch für Office 2013. Welche Vorlagen in den späteren Versionen angezeigt werden, hängt ab von 1) der installierten Office-Version und 2) der beim Erstellen des Projekts ausgewählten Version von .NET Framework (4.0 für 2010; 4.5 für später). Weitere Informationen finden Sie auf dieser Seite: https://blogs.msdn.microsoft.com/vsto/2013/03/06/office-developer-tools-for-visual-studio-2012-now-available-with-office-2013-and-net-framework-4-5-support/

Beachten Sie, dass in der Entwicklungsumgebung nur eine Office-Version installiert sein sollte.

Wenn möglich, sollten Sie das Add-In für Excel 2010 entwickeln. Ein für eine ältere Version entwickeltes Add-In wird für eine neuere Version ausgeführt, ohne dass Sie zusätzlich etwas tun müssen - vorausgesetzt, Microsoft hat keine Änderungen vorgenommen zu den Teilen des Objektmodells, das Sie verwenden, die es "brechen". Da Microsoft der Abwärtskompatibilität besondere Aufmerksamkeit widmet, ist dies normalerweise kein Problem, aber gründliche Tests sind wichtig. Es ist nicht erforderlich, die Installation für die Installation in einer neueren Version von Office neu zu erstellen oder anderweitig zu ändern.

Ein wichtiger Grund zur Entwicklung gegen die ältere Version ist, dass Vorwärtskompatibilität nicht unterstützt wird. Mit anderen Worten, wenn Sie etwas in der neueren Version verwenden, die nicht in der älteren Version vorhanden ist, wird dieser Code fehlschlagen.

Die VSTO-Funktion wird die Referenzen, die für ältere PIAs erstellt wurden, automatisch auf die neueren für eine neuere Version von Office umstellen. Die Rückseite ist nicht der Fall.

Wenn es aus irgendeinem Grund nicht möglich ist, die ältere Version zu verwenden, können Sie die Eigenschaft "Embed Interop types" einer Referenz verwenden, um die PIA-Informationen einzubetten, solange Sie .NET Framework 4.0 (oder höher) verwenden in Ihrem Projekt, so dass es mit Ihrer Lösung reist, anstatt die PIAs zu referenzieren, die in den GAC und installiert sind, macht sie versionsunabhängig. In der Theorie ist das in Ordnung, erfordert aber sehr gründliches und sorgfältiges Testen, da - neben dem Problem der Vorwärtskompatibilität - sich die tatsächlich eingebetteten Informationen nicht immer korrekt verhalten.

+0

Vielen Dank für eine so detaillierte Antwort. –

0

Sie müssen Visual Studio 2013 für VSTO Version 13 installieren, die Excel 2013 unterstützen, aber Sie können Excel 2010 unterstützen, indem Sie die Installer-Datei aus der Anwendung erstellen. und es gibt keine andere Möglichkeit, zwei verschiedene Version von der Code-Basis zur gleichen Zeit

Dank

+0

Sie meinen, ich muss zwei verschiedene Installer für Excel2010 & 2013 aus demselben Projekt erstellen, oder ich muss zwei verschiedene Projekte für zwei Excel-Versionen verwalten? –

+0

Ja, Sie können zwei verschiedene Installer vom gleichen Projekt erstellen –

Verwandte Themen