Tôi nghĩ bạn có thể thử làm điều này bằng cách tự động hóa VBE (Visual Basic Editor).
YÊU CẦU:
bạn cần phải đi đến Excel/File/Options/Trust Center/Trust Center settings
và đánh dấu vào tùy chọn Trust access to the VBA project object model
(vì lý do bảo mật này không được kích hoạt mặc định, và nếu bạn không kiểm tra xem nó mã dưới đây sẽ tăng thời gian chạy lỗi 1004 programmatic access to visual basic project is not trusted
). Rõ ràng, bạn chỉ cần làm điều này một lần (trong mỗi máy tính mà bạn muốn thực hiện việc biên dịch tự động, tất nhiên).
mã hóa:
bạn lệnh thanh hướng dẫn (ví dụ: "Compile dự án VBA") là bên trong đối tượng VBE của ứng dụng Excel, đặc biệt là trong các thanh lệnh:
Dim objVBECommandBar As Object
Set objVBECommandBar = Application.VBE.CommandBars
Đối tượng sẽ bây giờ chứa toàn bộ thanh lệnh của trình soạn thảo Visual Basic. Cụ thể, bạn tìm nút ID "578", thực tế là "Soạn thảo Dự án VBA" (bạn có thể đặt trình xem trên biến và duyệt tất cả bên trong cửa sổ cục bộ, bạn có thể muốn tìm kiếm lệnh). Do đó, để tóm tắt:
Set compileMe = objVBECommandBar.FindControl(Type:=msoControlButton, ID:=578)
compileMe.Execute
Điều này sẽ cho phép lập dự án. Như bạn đã hỏi, bạn chỉ cần đưa thông tin này vào sự kiện mở Sổ làm việc này:
Private Sub ThisWorkbook_Open()
Set compileMe = objVBECommandBar.FindControl(Type:=msoControlButton, ID:=578)
compileMe.Execute 'the project should hence be compiled
End Sub
Nguồn
2015-01-17 18:11:15
Nếu không, thì có ai biết nơi tệp được biên dịch được lưu trữ không? Tôi nghĩ rằng thay vì biên soạn sổ làm việc mới, nó sẽ không chỉ có thể gửi tất cả người dùng các tệp đã biên dịch này và cung cấp hướng dẫn về nơi các tệp này phải được lưu trữ trong thư mục tạm thời không? – Examorph
Cảm ơn bạn Matteo, điều này không thực sự cấp bách, chỉ là một cái gì đó tôi đã có rất nhiều rắc rối với nhiều sách bài tập trước đây bao gồm dự án hiện tại của tôi. Tôi mong được thấy giải pháp của bạn. – Examorph
Có bạn đi, đó là trong câu trả lời. Tôi vừa thử nghiệm một trong những dự án của tôi và dường như nó hoạt động tốt. Đừng ngần ngại chỉ ra những nhược điểm có thể xảy ra, đây là lần đầu tiên tôi thử một cái gì đó như thế này. –