Frage

Wird VBA in absehbarer Zeit zu gehen weg, wie VB6 hat? Soll ich nicht neue Office-Anwendungen mit VBA entwickeln? Oder sollte ich alle neuen Office-Apps mit VSTO entwickeln?

Update: Vor kurzem lesen Sie

War es hilfreich?

Lösung

Andere Tipps

Microsoft hat erklärt, dass VBA wird voran für die absehbare Zeit unterstützt werden, aber sie empfehlen auch, dass neue Anwendungen VSTO verwenden.

Die neueste Mac-Version von MS Office nicht unterstützt VBA und 64-Bit-Windows läuft es in einem virtuellen 32-Bit-out-of-Process-Modus. Also, wenn Sie eine neue Anwendung als Plattform mit Office planen, VSTO ist auf jeden Fall der Weg zu gehen, aber man sollte nicht zu viel über die Legacy-Unterstützung sorgen.

Wie @cori weist darauf hin, wäre es ein großer Marketing sein no-no für MS nur Unterstützung reißen und brechen so viel vorhandenen Software.

Microsoft wurden Hinweise auf ein verwaltetes-Code-Version von Office mit einem integrierten VSTO fallen (vermutlich in der gleichen Weise wie die VB6 IDE für VBA integriert ist, so würde der VS IDE für VSTO integriert werden) seit .NET war zum ersten Mal veröffentlicht.

nur Bedenkt man, wie viel Codierung beteiligt ist - und da dies keine Funktionen erzeugen würde, die für die Nutzer sichtbar wäre - ich bezweifle sehr, dass dies auf der Microsoft Prioritätenliste hoch ist. Ich kann mir vorstellen, dass sie einen verwalteten Code Menge von Objekten über die Oberseite der bestehenden Code-Basis-Schicht (viel wie Joel Spolsky eine Reihe von COM-Objekten über die bestehende C-Codebasis geschichtet, wenn sie in erster Linie VBA in Excel setzen) und Spund eine neue IDE in als Standard, während der alten versteckt. das wäre auch eine große Übung (man stelle sich die Makroaufzeichnung zu schreiben!). Natürlich, das .NET, um einen Pre-req für Office machen würde, die das Team Amt wird nur mit vorgehaltener Waffe übernehmen.

Sie werden nie VBA entfernen tatsächlich von den Produkten, natürlich - Excel unterstützt noch Excel 4-Makros und Word hat immer noch das Word-Basic-Automatisierungsobjekt Word 6 Makros zu unterstützen, und es gibt keine Anzeichen für eine dieser beiden entfernt werden, da es zu viel ist Legacy-Code zu Unterstützung -. und niemand hat eine dieser Codierung Modelle in einem Jahrzehnt verwendet

Wenn Microsoft sich jemals eine .NET-Umgebung in Büro setzen (was, ehrlich gesagt, ich bezweifle, jemals passieren wird), dann könnten sie das Hinzufügen stoppen VBA-Unterstützung für neues Office-Feature. Das ist in der Nähe sie Absetzen VBA erhalten werden.

Hier ist ein Kommentar von Microsoft Zukunft VBA-Unterstützung in Bezug auf. Auf den Punkt gebracht wird, ist es nicht weg auf Windows-Versionen von Office (ist aber für Mac-Versionen nicht mehr erhältlich).

VBA ist ein langer Weg abgeschrieben aus ist, in der Tat ist VBA in die nächste Version von Office auf dem MAC wieder eingeführt werden ( http://www.microsoft.com/presspass/press/2008/may08/05-13MacBU2008PR.mspx ).

Für die meisten Menschen auf der Erde, VBA und C XLLs (und VB6 !!) weiterhin die Werkzeuge der Wahl sein. Die aktuellen .NET-Verknüpfungen sind langsam und bieten Null Produktivitätsgewinn. 3. Teil Tools wie ExcelDNA den Schmerz etwas lindern, aber offensichtlich die nicht verwaltete C basiert (und Assembler-basiert) Code-Basis von Office sitzt nicht leicht mit .NET.

VBA-Add-In sind etwas mühsam zu implementieren, aber VSTO ist sogar noch mehr. Auch VSTO beinhaltet ein wenig Overhead, da sie die CLR starten vor dem Ausführen von Code benötigt.

Aber am wichtigsten von allem; VSTO nimmt den Schmerz des Schreibens VBA weg.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top