2010-07-09 42 views
5

Tôi chỉ biết rằng các macro trong Word/Excel/PowerPoint có thể được lập trình. Điều đó thật tuyệt vời vì tôi có một tài liệu Word với 70 bảng để tạo kiểu.Tôi bắt đầu với VBA và lập trình macro trong Word 2007 ở đâu?

Tôi là lập trình viên nhưng tôi không biết VB, VBA hoặc VB .NET. Tôi đang bối rối với ba điều này. Tôi quen thuộc với lập trình .NET bằng C#. Bây giờ tôi muốn viết các macro mới. Tôi nên bắt đầu ở đâu? VB, VBA, VB.NET là gì và tôi nên học cái nào? Vui lòng đề xuất một số tài liệu.

Nếu tôi tìm hiểu về Word 2007 sẽ giúp ích cho các ứng dụng Office khác, Excel & PowerPoint?

Trả lời

2

Bạn luôn có MSDN.
Nếu bạn vào Microsoft Word> Nhà phát triển> Visual Basic và mở ThisDocument trong menu bên trái, bạn sẽ có trình chỉnh sửa. Nếu bạn nhấn F2 bạn sẽ nhận được các thư viện có thể được sử dụng trong Microsoft Word (Trình duyệt đối tượng). Chương trình đơn giản nhất sẽ là như sau:

Sub Hello() 
    MsgBox "Hello World" 
End Sub 

Khi bạn đã tiểu đánh dấu, nhấn F5 (để chạy).

Trong trình duyệt đối tượng bạn sẽ có ba đối tượng, thuộc tính, chức năng và sự kiện khác nhau. Khi bạn thấy điều gì đó khiến bạn quan tâm, hãy truy cập reference để tìm vba từ và tìm nó.
[Nếu những thay đổi liên kết, bạn có thể tìm thấy nó trong cây dưới MSDN Library> Văn phòng Phát triển> 2007 Microsoft Office System> Word 2007> Word 2007 cho nhà phát triển tham khảo> Object Lời Mô hình tham chiếu]

Tôi nghĩ đơn giản nhất điều cần làm là để xác định sự cố bạn cần khắc phục và cố gắng lập trình nó, tương tự như việc học bất kỳ ngôn ngữ nào khác. Đừng làm cho vấn đề trở nên dễ dàng, nhưng không khó mà bạn bỏ cuộc.

5

Dưới đây là một lời giải thích ngắn gọn về Visual Basic khác nhau:

  • Visual Basic 6 (VB6, hoặc VB cổ điển)
    • Phát hành khoảng năm 1998, đây là phiên cuối cùng của Microsoft gốc "Visual Basic . " Nó có sự khởi đầu của phát triển hướng đối tượng, nhưng nó đòi hỏi Visual Basic Runtime cho các ứng dụng chạy. Rất nhiều công ty đã sử dụng VB6 cho các ứng dụng kinh doanh nội bộ. Nó đã được superceded bởi VB.NET và .NET Framework.
  • Visual Basic for Applications (VBA)
    • VBA chia sẻ cơ sở mã giống như VB6 và vào năm 1996 đã có sẵn để được cấp giấy phép các nhà phát triển để đưa vào ứng dụng của riêng mình. Đây là cách VBA xuất hiện trong Microsoft Office, như một ngôn ngữ nhúng có thể được sử dụng để kiểm soát các ứng dụng khác nhau của Office. Điều quan trọng cần nhớ là VBA, mà vẫn được sử dụng để mã hóa các ứng dụng văn phòng, đã hơn một thập kỷ cũ và có thể cảm thấy như vậy khi được sử dụng để làm việc với .NET.
  • Visual Basic.NET (VB.NET)
    • VB.NET là một khởi đầu căn bản từ VB6.Mặc dù các lần lặp lại tiếp theo của VB.NET đã được gọi theo thứ tự (ví dụ: VB7, VB8, vv) của nhiều nhà phát triển, VB.NET chia sẻ rất ít với VB6 và VBA ngoài cú pháp BASIC. Nhiều người coi nó là một sự tiến hóa mới trong BASIC hơn là một sự tiến hóa trong Visual Basic. Bởi vì nó hoàn toàn khác với VBA và VB6, bạn không thể sử dụng mã VB.NET trực tiếp trong VBA.
    • Vì mã VB.NET biên dịch xuống cùng một mã ngôn ngữ trung gian được quản lý như C# và chia sẻ cùng một API .NET, bạn có thể cảm thấy phổ biến hơn giữa C# và VB.NET so với VB6 và VB.NET từ phối cảnh lập trình.

Nếu bạn dự đoán làm rất nhiều phát triển trong VBA, tôi sẽ khuyên bạn nên VBA Developer's Handbook, Second Edition, bởi Getz và Gilbert.

Học cú pháp VBA cho Word chắc chắn sẽ giúp bạn khi bạn sử dụng Excel, Access, v.v. Tuy nhiên, mỗi ứng dụng có API riêng cung cấp một tập các đối tượng và phương thức duy nhất cho miền của nó. Ví dụ, tôi rất quen thuộc với lập trình trong VBA trong Excel và Access, nhưng tôi chưa bao giờ thực hiện lập trình macro trong Word. Mặc dù cú pháp mã sẽ giống nhau, tôi phải học API của Word để có thể lập trình chống lại nó.

Điều thú vị về một số ứng dụng Office (ví dụ: Excel) là bạn có thể ghi macro, xem mã nó tạo ra, và sau đó tinh chỉnh mã đó để làm những gì bạn muốn. Đó là phần lớn tôi bắt đầu lập trình như thế nào.

5

Có một số câu trả lời tốt ở đây - tôi muốn cung cấp bộ thêm một gợi ý:

Thứ nhất, nếu được hỗ trợ trong môi trường của bạn, bạn có thể sử dụng Visual Studio 2005/08/10 và bạn C# kỹ năng để chương trình chống lại Office với "Visual Studio Tools for Office". Xem số này thread để biết thêm chi tiết.

Nếu bạn muốn đi sâu vào VBA để thay thế (mà cá nhân tôi thích vì sự phát triển là quá nhanh so với VS), bắt đầu với bài viết này Ten Code Conversions for VBA, Visual Basic .NET, and C# mà sẽ cho bạn thấy mẫu từ cả ba ngôn ngữ. Tiếp theo, xem webcast này: Using Visual Basic for Applications (VBA) Every Day Is Easier Than You Think.

Thứ ba- MSDN, đọc qua điều này: Getting Started with VBA in Word 2010. 99% áp dụng cho Word 2007. Có rất nhiều bài viết khác được liên kết từ bài viết này hoặc bạn luôn có thể truy cập trang chính của Office VBA Developer Center dưới dạng trang nhảy đơn.

Sau đó, có thể là lúc để bắt đầu chương trình trực tiếp. Xem mọi thứ hoạt động như thế nào, hãy tìm hiểu về Object Model của Word, v.v. Bạn luôn có thể duyệt SO theo thẻ word-vba để xem những người khác đang cố gắng làm gì và câu trả lời.

+1

+1 Liên kết tốt. Bạn dường như biết cách của bạn xung quanh Visual Basic. Bạn có bất kỳ gợi ý về điều này? : http://stackoverflow.com/questions/2551634/visual-studio-macro-getting-started-copy-a-definition-from-cpp-to-h – Default

+0

@Michael: Cảm ơn. Thật không may tôi don 'biết một cách để chuyển đổi trên này - Tôi đã luôn luôn muốn nó bản thân mình cho một chuyển đổi sang VB mặc dù, nó sẽ là vô cùng hữu ích. –

+0

Một ngày nào đó tôi sẽ dành thời gian và viết một cái gì đó (và đăng nó ở đó) hehe. dù sao cũng cảm ơn :) – Default

Các vấn đề liên quan