11 Stimmen

Was wird mit Office VBA passieren?

Das Unternehmen, in dem ich arbeite, arbeitet mit Excel-Tabellen. In mehrere dieser Tabellenblätter ist eine Form von VBA-Code eingebettet. Ich mache einige Wartungsarbeiten an ihnen, aber es fühlt sich wirklich veraltet an.

Was wird mit Office VBA passieren?

Warum hat Microsoft keine eingebettete .NET-Makrosprache für Office veröffentlicht?

3 Stimmen

"ein Unternehmen, das mit Excel-Tabellen geführt wird"... lassen Sie mich raten, arbeiten Sie in einer Bank? Als Auftragnehmer bin ich immer wieder erstaunt, wenn ich sehe, wie Giga-Banken auf Weltniveau mit Excel-Tabellen arbeiten.

10voto

Mike Woodhouse Punkte 50241

Kurze Antwort: Wahrscheinlich geht es Ihnen noch eine Weile gut.

Lange Antwort: VB6 (was VBA wirklich ist) ist so ziemlich eine tote, nicht unterstützte Sprache, die zuletzt vor einem Jahrzehnt mit einer IDE aus der gleichen Zeit aktualisiert wurde. Es gibt sie nur noch, weil sie in Office eingebettet ist und es Millionen von Office-Anwendungen gibt, die nicht mehr funktionieren würden, wenn VBA entfernt oder geändert würde. Ganz zu schweigen von Millionen von verärgerten Benutzern.

Wie kann man also vorankommen? Kann Office in verwaltetem Code neu implementiert werden? Möchte Microsoft das überhaupt tun? Werden sie einen noch größeren Bruch in der Abwärtskompatibilität vollziehen als die Multifunktionsleiste und das Konzept der Makroaufzeichnung und des interpretierten eingebetteten Codes einfach verwerfen? Ich kann mir einfach nicht vorstellen, dass meine Benutzer VB.NET in Visual Studio verwenden, mit COM Interop und so weiter.

Wenn ich auf ein Ergebnis wetten müsste (und selbst dann würde ich nicht viel wetten wollen), würde ich auf die Dynamische Sprachlaufzeit und die Tatsache, dass sich mehrere Sprachen in verschiedenen Stadien der Vorbereitung befinden, um darauf zu laufen. Angenommen, die DLR würde mit einem geeigneten Ersatz oder Wrapper für das COM-Modell der Office-Anwendung die VB6-Laufzeitumgebung ersetzen. Nehmen wir weiter an, VBA würde als DLR-Sprache implementiert. Nun würde das alte VBA weiterhin laufen, nur auf einem anderen (modernen, unterstützten) Interpreter, und nebenbei könnten wir Excel-Makros in Python, Ruby oder einer anderen DLR-Sprache nach unserem Geschmack programmieren.

Aber das ist nur meine beste Vermutung - ich habe keine Ahnung, ob sie auch nur annähernd dem entspricht, was tatsächlich passieren wird. Ich würde allerdings sehr gerne Excel-Makros in Ruby programmieren können.

0 Stimmen

Es wird für 5 Jahre nach der Veröffentlichung von Windows 7 und 5 Jahre danach so unterstützt, wie es ist.

0 Stimmen

Und es wird in der nächsten Version von Office für den Mac wieder eingeführt...

3voto

Andru Luvisi Punkte 23151

Sie sind Hinzufügen von VBA-Unterstützung in der nächsten Version von Office für den Mac Ich vermute also, dass es sie noch eine Weile geben wird.

2voto

Iain Holder Punkte 13981

Ich würde sagen, es ist Zeit für Sie, in .NET einzutauchen.

Sie können .NET-Bibliotheken von Excel aus aufrufen.

http://richnewman.wordpress.com/2007/04/15/a-beginner%E2%80%99s-guide-to-calling-a-net-library-from-excel/

0 Stimmen

Der Finanzfachmann wird nicht in der Lage sein, die .NET-Bibliothek zu pflegen. Sie haben kein Visual Studio und ich glaube nicht, dass sie es mögen würden :)

1 Stimmen

Als jemand, der VSTO jetzt unter Visual Studio 2008.... verwendet Ich würde auf VS2010 und NoPIA warten. Bleiben Sie vorerst bei VBA.

2voto

Andomar Punkte 224164

Nun, ich bin ein erfahrener .NET-Programmierer. Ich habe Tools for Office ausprobiert, das ist aber sehr mühsam und erfordert die Verteilung von Assemblies (LOL.) Die Finanzabteilung oder die Lieferabteilung wird das auf keinen Fall verwenden. Wir haben uns köstlich amüsiert, bevor wir auf Deinstallation drückten.

Wir haben Google Docs ausprobiert, das überraschend flexibel war, aber immer noch nicht so leistungsfähig wie Excel-Makros. Microsoft stagniert seit dem Jahr 2000, und Google entwickelt sich schnell, so dass die Antworten in ein paar Jahren vielleicht anders ausfallen. VBA selbst ist eigentlich weniger heute wegen des ganzen Sicherheitsunsinns nicht mehr leistungsfähig.

Am Ende habe ich immer noch eine Schaltfläche in ihrem Blatt, mit der sie tun können, was sie wollen, und sie können kleinere Änderungen am Code vornehmen, wenn sie wollen. Es ist schon seltsam, dass VBA für etwas eingesetzt wird, das vermutlich alle Finanzabteilungen der Welt verwenden.

0 Stimmen

Im Allgemeinen stimme ich mit Ihren geschäftsorientierten Kommentaren überein (das ist die Art und Weise, wie Geschäftsanwender denken), mit Ausnahme der Bemerkung über die Sicherheit, die es weniger leistungsfähig macht. Wenn Sie im Finanzwesen tätig sind und das Thema Sicherheit nicht ernst nehmen, müssen Sie Ihren Ansatz bei der Entwicklung von Lösungen überdenken. Sicherlich sind Sicherheitswarnungen ein Ärgernis, aber das gilt auch für Benutzer, die die Sicherheit eines Unternehmens nicht ernst nehmen. Ich glaube nicht, dass es seltsam ist, dass Nicht-Entwickler VBA mögen, sie haben wenig Zeit und wollen etwas, mit dem sie so schnell wie möglich arbeiten können.

1voto

MarlonRibunal Punkte 3929

Ich bin gestern irgendwie auf denselben Gedanken gekommen. Was für ein Zufall. Plötzlich war der Chef meines Teilzeitjobs auf der Suche nach einer Excel-Anwendung, die ich vor 3 Jahren erstellt hatte (ich verließ das Unternehmen 2007 und kehrte als Teilzeitkraft zurück, um meinen Vollzeitjob zu ergänzen). Ich erinnere mich, dass ich diese Anwendung in eine MS Access 2003-Anwendung umgewandelt hatte; aber die Anwendung muss aktualisiert werden, um neuere Anforderungen zu erfüllen. Ich glaube, ich habe VBA bereits vergessen. Es ist nicht der richtige Zeitpunkt, um zurückzugehen und die Dinge von Grund auf neu zu lernen. Ich mache weiter mit C# 2.0/3.0. Die Wiederherstellung dieser MS Access 2003-Anwendung mit C# 3.0 wird eine großartige Lernerfahrung sein, da bin ich mir sicher!

@IainMH hat Recht..." es ist Zeit für Sie, in .NET einzutauchen"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X