2010-07-09 12 views
5

Ich habe gerade erfahren, dass Makros in Word/Excel/PowerPoint programmiert werden können. Das ist großartig, weil ich ein Word-Dokument mit 70 Tabellen zum Stylen habe.Wo fange ich mit der Programmierung von VBA und Makros in Word 2007 an?

Ich bin ein Programmierer, aber ich weiß nicht, VB, VBA oder VB .NET. Ich bin verwirrt mit diesen drei. Ich bin vertraut mit .NET-Programmierung mit C#. Jetzt möchte ich neue Makros schreiben. Wo soll ich anfangen? Was sind VB, VBA, VB.NET und was soll ich lernen? Bitte schlagen Sie etwas Material vor.

Wenn ich für Word 2007 lernen, wird das mit anderen Office-Anwendungen Leben helfen Excel & PowerPoint?

Antwort

2

Sie haben immer MSDN.
Wenn Sie zu Microsoft Word> Entwickler> Visual Basic gehen und ThisDocument im linken Menü öffnen, haben Sie den Editor. Wenn Sie F2 drücken, erhalten Sie die Bibliotheken, die in Microsoft Word (der Objektkatalog) verwendet werden können. Die einfachste Programm wäre die folgende:

Sub Hello() 
    MsgBox "Hello World" 
End Sub 

Wenn Sie die Unter markiert, drücken Sie F5 (laufen).

Im Objektbrowser haben Sie drei verschiedene Objekte, Eigenschaften, Funktionen und Ereignisse. Wenn Sie etwas sehen, das Ihr Interesse weckt, gehen Sie zu der reference für Word VBA und suchen Sie es.
[Wenn der Link ändert, können Sie es in der Struktur unter MSDN Library finden> Office Development> 2007 Microsoft Office System> Word 2007> Word 2007-Entwicklerreferenz> Word Object Model Reference]

ich denke, die einfachste was zu tun ist, ist definieren Sie ein Problem, das Sie brauchen, behoben und versuchen Sie es zu programmieren, ähnlich dem Lernen einer anderen Sprache. Machen Sie das Problem nicht zu einfach, aber nicht zu hart, dass Sie aufgeben.

5

Hier ist eine kurze Erklärung der verschiedenen Sicht Basics:

  • Visual Basic 6 (VB6 oder klassische VB)
    • etwa 1998 veröffentlicht wurde, war dies die letzte Iteration von Microsofts Original „Visual Basic . " Es hat die Anfänge der objektorientierten Entwicklung, erfordert jedoch die Visual Basic Runtime für die Ausführung von Anwendungen. Viele Unternehmen haben VB6 für interne Geschäftsanwendungen verwendet. Es wurde von VB.NET und dem .NET Framework abgelöst.
  • Visual Basic für Applikationen (VBA)
    • VBA teilt die gleiche Code-Basis wie VB6 und 1996 war für Entwickler lizenziert werden in ihre eigenen Anwendungen zu schließen. So wird VBA in Microsoft Office als eingebettete Sprache angezeigt, mit der die verschiedenen Office-Anwendungen gesteuert werden können. Es ist wichtig, daran zu denken, dass VBA, das immer noch zum Codieren von Office-Anwendungen verwendet wird, über ein Jahrzehnt alt ist und sich als solches anfühlt, wenn man es gewohnt ist, mit .NET zu arbeiten.
  • Visual Basic .NET (VB.NET)
    • war VB.NET eine radikale Abkehr von VB6.Obwohl auf nachfolgende Iterationen von VB.NET von vielen Entwicklern in Folge verwiesen wurde (z. B. VB7, VB8 usw.), teilt sich VB.NET sehr wenig mit VB6 und VBA außer der BASIC-Syntax. Viele halten es eher für eine neue Evolution in BASIC als für eine Evolution in Visual Basic. Da es sich vollständig von VBA und VB6 unterscheidet, können Sie den VB.NET-Code nicht direkt in VBA verwenden.
    • Da VB.NET-Code auf den gleichen verwal- teten Intermediate Language-Code wie C# kompiliert und dieselben .NET-APIs verwendet, fühlen Sie sich möglicherweise aus Programmiersicht häufiger als C# und VB.NET als VB6 und VB.NET.

Wenn Sie eine Menge von Entwicklung in VBA antizipieren zu tun, würde ich die VBA Developer's Handbook, Second Edition, von Getz und Gilbert sehr empfehlen.

Das Erlernen der VBA-Syntax für Word wird Ihnen sicherlich helfen, wenn Sie Excel, Access usw. verwenden. Jede Anwendung hat jedoch ihre eigene API, die eine Reihe von Objekten und Methoden für ihre Domäne bereitstellt. Zum Beispiel bin ich sehr vertraut mit der Programmierung in VBA in Excel und Access, aber ich habe noch nie Makroprogrammierung in Word gemacht. Obwohl die Codesyntax die gleiche wäre, müsste ich die API von Word lernen, um dagegen programmieren zu können.

Die nette Sache über einige der Office-Anwendungen (zum Beispiel Excel) ist, dass Sie ein Makro aufzeichnen können, sehen, welchen Code es generiert, und dann den Code optimieren, um zu tun, was Sie wollen. Das ist weitgehend, wie ich mit dem Programmieren angefangen habe.

5

Es gibt einige gute Antworten hier - ich möchte noch eine Reihe von Vorschlägen bieten:

Erstens, wenn in Ihrer Umgebung unterstützt, können Sie zu Visual Studio 2005.08.10 und C# Fähigkeiten nutzen Programm gegen Office mit "Visual Studio Tools für Office". Siehe hierzu thread für weitere Details.

Wenn Sie in VBA vertiefen wollen statt (was ich persönlich liebe, weil die Entwicklung so schnell VS verglichen wird), beginnen Sie mit diesem Artikel Ten Code Conversions for VBA, Visual Basic .NET, and C#, die Sie Proben aus allen drei Sprachen zeigen. Sehen Sie sich als nächstes dieses Webcast an: Using Visual Basic for Applications (VBA) Every Day Is Easier Than You Think.

Drittens - MSDN, lesen Sie dies durch: Getting Started with VBA in Word 2010. 99% davon beziehen sich auf Word 2007. Es gibt viele andere Artikel, die von diesem verlinkt sind oder Sie können immer auf die Hauptseite von Office VBA Developer Center als einzelne Jump-Page gehen.

Dann ist es wahrscheinlich Zeit zu beginnen, direkt zu programmieren. Sehen Sie, wie die Dinge funktionieren, lernen Sie Word's Object Model, etc. Sie können immer SO unter dem word-vba Tag durchsuchen, um zu sehen, was andere Leute zu tun versuchen und die Antworten.

+1

+1 Gute Links. Sie scheinen sich in Visual Basic auskennen. Hast du irgendwelche Hinweise zu diesem Thema? : http://stackoverflow.com/questions/2551634/visual-studio-macro-getting-started-copy-a-definition-from-cpp-to-h – Default

+0

@Michael: Danke. Leider weiß ich nicht, wie ich dies umsetzen könnte - ich wollte es immer selbst für eine VB-Umwandlung, aber es wäre unglaublich hilfreich. –

+0

Eines Tages nehme ich mir Zeit und schreibe etwas (und poste es dort) hehe. trotzdem danke :) – Default

Verwandte Themen