Phân biệt Macro và VBA

Liên hệ QC

duongsatdn

Thành viên tiêu biểu
Tham gia
15/6/07
Bài viết
455
Được thích
393
"Không rõ gửi câu hỏi này ở đây có sai vị trí không"
Xin các bạn giúp cho:
Định nghĩa Macro và VBA? Phân biệt và trường hợp áp dụng?
 
Mình vô google search ra 2 cái định nghĩa Macro và VBA, sau khi đọc định nghĩa thì chắc cũng suy ra được khi nào nên sử dụng Macro (bạn chịu khó đọc tiếng Anh). Tóm lại Macro là để chỉ một chương trình nào đó giúp thực hiện một công việc lặp đi lặp lại trên máy tính còn VBA là một ngôn ngữ lập trình (1 nhánh của VB).

Definition of: Macro

1) In Microsoft Word and other programs, a macro is a saved sequence of commands or keyboard strokes that can be stored and then recalled with a single command or keyboard stroke.

2) In computers, a macro (for "large"; the opposite of "micro") is any programming or user interface that, when used, expands into something larger. The original use for "macro" or "macro definition" was in computer assembler language before higher-level, easier-to-code languages became more common. In assembler language, a macro definition defines how to expand a single language statement or computer instruction into a number of instructions. The macro statement contains the name of the macro definition and usually some variable parameter information. Macros were (and are) useful especially when a sequence of instructions is used a number of times (and possibly by different programmers working on a project). Some pre-compilers also use the macro concept. In general, however, in higher-level languages, any language statement is about as easy to write as an assembler macro statement.

Assembler macros generate instructions inline with the rest of a program. More elaborate sequences of instructions that are used frequently by more than one program or programmer are encoded in subroutines that can be branched to from or assembled into a program.


Definition of: VBA

(Visual Basic for Applications) A subset of Visual Basic that provides a common language for customizing Microsoft applications. VBA supports COM, which allows a VBA script to invoke internal functions within Excel, Word and other COM-based programs or to make use of stand-alone, external COM objects. VBA evolved into a common language to consolidate earlier macro and scripting languages. Since 1996, VBA has been licensed to third parties for use in non-Microsoft applications within the Windows environment. Microsoft encourages Windows developers to put VBA support in their software.

TP.
 
Upvote 0
(tiếp theo bài của phong)
Như vậy 2 cái này có liên quan gì đến nhau (Xét trong Excel)
- Khi Macro hoạt động, thì nó sẽ sử dụng VBA (ngôn ngữ lập trình) để hoạt động

VD : Xăng(VBA) và xe máy(Macro) : Xăng thì có thể dùng làm nhiên liệu cho rất nhiều loại động cơ khác nhau, trong đó có cả xe máy.
Và khi xe máy chạy, nó sẽ dùng xăng làm nhiên liệu để chạy.

Thân!
 
Upvote 0
Mr Okebab nè.
Như vậy nếu không có VBA thì Macro sẽ không dùng được. VBA là nền tảng để thiết lập ra Macro.

Hay quá hiểu thêm 1 vấn đề nữa rùi. Thank nhen.

TC.
 
Upvote 0
Thien đã viết:
Mr Okebab nè.
Như vậy nếu không có VBA thì Macro sẽ không dùng được. VBA là nền tảng để thiết lập ra Macro.

Hay quá hiểu thêm 1 vấn đề nữa rùi. Thank nhen.

TC.
Đúng rồi đấy. Người ta tạo ra xăng trước, sau đó nghĩ rằng như thế phí phạm quá, sau đó người ta lại tạo ra xe máy để góp phần tăng thêm phần quan trọng của xăng.
Tất nhiên, trước khi có xe máy, người ta vẫn đi . . . xe đạp vẫn ổn.

Sau này xăng hết rồi (hoặc không có người dùng nữa) thì sẽ thay xăng bằng nhiên liệu khác.
Tóm lại, trong quá trình phát triển thì các loại nhiên liệu không ngừng được cải tiến, đồng thời các loại phương tiện cũng không ngừng được nâng cấp.

Thân!
P/S : Lần sau Thanks nhớ nhấn THANKS giùm em phát nghe "Xếp" để sau này em còn có cái mà khoe với . . . . . Vợ em. Be be be
 
Upvote 0
Mình vô google search ra 2 cái định nghĩa Macro và VBA, sau khi đọc định nghĩa thì chắc cũng suy ra được khi nào nên sử dụng Macro (bạn chịu khó đọc tiếng Anh). Tóm lại Macro là để chỉ một chương trình nào đó giúp thực hiện một công việc lặp đi lặp lại trên máy tính còn VBA là một ngôn ngữ lập trình (1 nhánh của VB).

Biết VBA sẽ viết được Macro, nhưng có thể viết (tạo) Macro mà ko cần biết 1 lệnh nào của VBA, marco trong bộ Office của MS chủ yếu là công cụ cho phép làm các thao tác thông qua 1 nút lệnh
 
Upvote 0
Mình xin nói thêm về Macro và VBA như thế này:

Macro là gì?
Macro là lệnh thực thi một kịch bản công việc nào đó. Tạo macro chính là việc ghi lại một tập các thao tác xử lý của người dùng (Record Macro) sau đó lưu lại thành một bộ lệnh và đặt trong một "MacroName". Ngôn ngữ ghi lại (thể hiện công việc trong macro) trong MS Office là VB (không phải VB.NET). Khi cần thực thi công việc giống như việc đã làm thì chỉ cần chạy MacroName (bấm phím ALT+F8) đó để thực hiện lại một kịch bản.

VBA là gì ?
VBA - Visual Basic for Application là một ngôn ngữ lập trình, ngôn ngữ của nó là Visual Basic nhưng nó được tích hợp vào trong ứng dụng (Application) và sử dụng các đối tượng trong ứng dụng đó, những ứng dụng này phải được thiết kế kiểu Automation Server, như tôi biết hiện nay thì có các chương trình trong bộ MS Office, OpenOffice, AutoCAD. Sự kế hợp giữa Visual Basic với Application (ứng dụng) cho ra một cái tên VBA.
VBA làm gì ? VBA cho phép người ta viết các mã lệnh có tác động tới nhiều đối tượng để làm tăng tính tự động hoá trong ứng dụng của mình, làm những việc mà các công cụ sẵn có trong ứng dụng chưa có, như tôi có thể viết thêm một hàm tính thuế TN, viết một chương trình tính lãi ngân hàng, kế toán, trong MS Office và OpenOffice thì dùng để tạo Macro,...
Trong lập trình, các đối tượng được viết trong ứng dụng kiểu Automation Server người ta gọi là COM - Component Object Model, như vậy từ bất kỳ một ứng dụng hay môi trương lập trình nào người ta có thể can thiệp vào các đối tượng này, dù nó đâng chạy. Ví dụ tôi có thể viết lệnh kiểm soát toàn bộ quá trình Excel đang làm việc. Để làm việc với các đối tượng COM người ta phải dùng kỹ thuật tạo và kết nối COM objects, trong VB6 trở về trước được hỗ trợ tốt điều này nên rất dễ dùng (đơn giản là việc viết Class), trong Delphi,.NET: VB.NET, C#.NET thì người ta phải tạo các lớp Interface,....
 
Lần chỉnh sửa cuối:
Upvote 0
Xin bổ xung thêm :
_ Macro: là tập hợp các lệnh...Trong bộ Office thì ngôn ngữ sử dụng để tạo các lệnh là VBA (không phải VB).
_ VBA không thể tạo ra chương trình tự động thực thi độc lập (*.exe). Nếu không có bộ Office thì bạn không có thể lập trình VBA.

Vbavn
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom