Tôi đã viết một loại hệ thống xây dựng cho Excel nhập mã VBA từ tệp nguồn (có thể nhập khẩu vào kiểm soát nguồn, khác biệt, vv). Nó hoạt động bằng cách tạo một tệp Excel mới có chứa mã được nhập, vì vậy nó có thể không hoạt động trong trường hợp của bạn.
Việc xây dựng vĩ mô trông như thế này, tôi lưu nó trong một tập tin gọi là Build.xls:
Sub Build()
Dim path As String
path = "excelfiles"
Dim vbaProject As VBIDE.VBProject
Set vbaProject = ThisWorkbook.VBProject
ChDir "C:\Excel"
' Below are the files that are imported
vbaProject.VBComponents.Import (path & "\something.frm")
vbaProject.VBComponents.Import (path & "\somethingelse.frm")
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "Output.xls"
Application.DisplayAlerts = True
Application.Quit
End Sub
Bây giờ, những thứ VBIDE có nghĩa là bạn phải nhập khẩu một tài liệu tham khảo được gọi là “Microsoft Visual Basic cho các ứng dụng Khả năng mở rộng 5.3 ", tôi nghĩ
Tất nhiên bạn vẫn có vấn đề với việc phải bắt đầu Excel để xây dựng này có thể được cố định với một kịch bản VB nhỏ:..
currentPath = CreateObject("Scripting.FileSystemObject") _
.GetAbsolutePathName(".")
filePath = currentPath & "\" & "Build.xls"
Dim objXL
Set objXL = CreateObject("Excel.Application")
With objXL
.Workbooks.Open(filePath)
.Application.Run "Build.Build"
End With
Set objXL = Nothing
Ru nning kịch bản trên nên bắt đầu xây dựng tệp Excel mà kết quả đầu ra bảng kết quả. Bạn có thể phải thay đổi một số điều để làm cho nó di chuyển trong hệ thống tập tin. Hi vọng điêu nay co ich!
Chỉ cần lưu ý - sổ làm việc thay đổi chương trình mã VBA của họ thường bị gắn cờ là vi-rút ... –