Tôi có Macro Excel 4 cũ mà tôi sử dụng để chạy hóa đơn hàng tháng. Đó là khoảng 3000 dòng và có nhiều bảng hộp thoại Excel 5 (cho hộp thoại). Tôi muốn biết cách dễ nhất để thay đổi nó thành Visual Basic và nếu nó là giá trị nó. Tôi cũng muốn biết làm thế nào, nếu một khi tôi đã chuyển đổi nó sang VBA, làm thế nào để tạo ra một ứng dụng độc lập của nó.Chuyển đổi macro Excel 4 thành VBA
Trả lời
Đây là một Artikel tốt về chủ đề này: http://msdn.microsoft.com/en-us/library/aa192490.aspx
Bạn có thể tải VB2008-Express miễn phí tại địa chỉ: http://www.microsoft.com/express/default.aspx
AFAIK không có khả năng bằng cách nào đó chuyển đổi nó. Bạn phải viết lại cơ bản trong VBA.
Nếu bạn đã chuyển đổi thành VBA, bạn không thể chạy dưới dạng ứng dụng độc lập. Như VBA nói Visual Basic cho ứng dụng, nó đang sống bên trong một ứng dụng (Word, Excel, Scala, bất cứ điều gì).
Bạn phải học ngôn ngữ chuẩn (không phải ngôn ngữ macro) để tạo các ứng dụng độc lập. Nhưng bạn phải học nhiều hơn bản thân ngôn ngữ. Bạn phải học các kỹ thuật khác nhau, ví dụ như xử lý cơ sở dữ liệu thay vì xử lý trang tính Excel, in thay vì in Excel, v.v. Vì vậy, về cơ bản bạn sẽ mất rất nhiều chức năng hiển nhiên nếu bạn sử dụng Excel.
Tôi đã thử điều này trước và cuối cùng bạn cần phải viết lại nó như Biri đã nói.
Tôi đã làm khá nhiều công việc này khi công ty chúng tôi đang nâng cấp từ Windows NT lên Windows XP. Tôi thường thấy rằng không dễ nhìn vào mã cũ và bắt đầu lại từ đầu. Bạn có thể dành rất nhiều thời gian để tìm ra những gì Excel 4 đã làm đặc biệt xung quanh ký hiệu hộp thoại "lạ". Cuối cùng, nếu bạn biết đầu vào là gì và đầu ra thì nó thường hiệu quả hơn và sạch hơn để viết lại.
Có nên sử dụng VBA hay không theo một số cách khác nhưng VBA khá mạnh và có thể mở rộng, mặc dù tôi muốn sử dụng các công cụ khác như .NET trong nhiều trường hợp hoạt động tốt và dễ triển khai.
Xét về mặt giá trị, nó có đáng không? Nếu bạn có thể nói rằng bạn sẽ không bao giờ cần phải thay đổi macro Excel 4 của bạn một lần nữa thì có thể không. Nhưng trong kinh doanh luôn luôn có một cái gì đó mà thay đổi ví dụ như thuế suất, đặc biệt là cuối năm điều. Với khó khăn như thế nào để tìm một ai đó để hỗ trợ Excel 4 và thậm chí tìm tài liệu trên nó tôi sẽ nói nó là nguy hiểm không để di chuyển đến VBA nhưng đó là một cái gì đó để cân bằng.
(Disclaimer: Tôi phát triển thư viện Excel-DNA)
Thay vì di chuyển vĩ mô để VBA, trong đó sử dụng một mô hình đối tượng COM tự động hóa khác với ngôn ngữ macro Excel, thay vì di chuyển nó đến VB. NET (hoặc C#) đang chạy với thư viện Excel-DNA.
Excel-DNA cho phép bạn sử dụng API C, phản chiếu ngôn ngữ macro rất chặt chẽ. Đối với mỗi lệnh macro, giống như các hộp thoại của bạn, có một hàm API C có cùng các tham số. Ví dụ, tương đương với DIALOG.BOX sẽ là xlfDialogBox - có một số thảo luận và ví dụ trong chủ đề này: http://groups.google.com/group/exceldna/browse_thread/thread/53a8253269fdf0a5.
Một ưu điểm lớn của động thái này là bạn có thể dần dần thay đổi các phần mã của mình để sử dụng giao diện tự động hóa COM - Excel-DNA cho phép bạn trộn và khớp với giao diện COM và API C.
- 1. Excel vba - chuyển đổi chuỗi thành số
- 2. Hoàn tác xây dựng thành macro VBA Excel
- 3. EXcel VBA: Excel Macro để tạo bảng trong PowerPoint
- 4. Tài liệu cho các macro Excel VBA
- 5. Excel VBA - Chạy macro trước khi lưu
- 6. Chuỗi VBA Excel VBA
- 7. Chuyển đổi công thức của ô thành văn bản bằng cách sử dụng excel vba
- 8. Excel & VBA: Bỏ qua công thức tính toán trong Macro
- 9. Macro VBA trong Excel để chạy câu lệnh Chèn SQL
- 10. Chuyển đổi html thành excel?
- 11. Thực thi .bat tệp từ Excel VBA Macro
- 12. Excel vba - xlDown
- 13. Đóng ứng dụng Excel bằng VBA
- 14. Cách lấy ngày giờ hiện tại bằng UTC từ macro VBA Excel
- 15. Tìm kiếm kết hợp chính xác của chuỗi trong hàng excel bằng VBA Macro
- 16. Làm thế nào để tạo các biến Excel VBA có sẵn cho nhiều macro?
- 17. VBA Excel macro viết một số nguyên đầu vào vào một ô
- 18. VBA Macro trên nhiều trang tính
- 19. Excel - VBA: chuyển biến từ Sub sang Userform
- 20. OnClick trong Excel VBA
- 21. Array trong excel vba
- 22. macro cho Ẩn hàng trong excel 2010
- 23. Dữ liệu Bloomberg không phổ biến cho đến khi macro Excel VBA kết thúc
- 24. Excel VBA - Range.Copy transpose paste
- 25. Đứng một mình Excel Macro
- 26. VBA Chuyển đổi String để Ngày
- 27. Mở truy cập từ Excel VBA
- 28. Chuyển đổi trường ngày thành văn bản trong Excel
- 29. chuyển đổi xml thành excel với nhiều trang tính
- 30. Chuyển đổi tem thời gian thành excel đến ngày