Có ai biết cách xuất mã VBA từ một số tài liệu Excel để mã có thể được thêm vào kho lưu trữ lật đổ không? Không phải mở thủ công từng tài liệu và xuất mã.Xuất mã VBA từ nhiều tài liệu Excel để đưa vào kiểm soát phiên bản
Trả lời
Bạn sẽ tìm thấy một công cụ cho việc này ở đây:
http://www.pretentiousname.com/excel_extractvba/index.html
Đó là một kịch bản VBS tự động hóa excel. Bạn có thể sửa đổi nó theo nhu cầu của bạn - lưu ý rằng nó không phải là hoàn hảo (đọc trang web để báo trước).
option explicit
Const vbext_ct_ClassModule = 2
Const vbext_ct_Document = 100
Const vbext_ct_MSForm = 3
Const vbext_ct_StdModule = 1
Main
Sub Main
Dim xl
Dim fs
Dim WBook
Dim VBComp
Dim Sfx
Dim ExportFolder
If Wscript.Arguments.Count <> 1 Then
MsgBox "As the only argument, give the FULL path to an XLS file to extract all the VBA from it."
Else
Set xl = CreateObject("Excel.Application")
Set fs = CreateObject("Scripting.FileSystemObject")
xl.Visible = true
Set WBook = xl.Workbooks.Open(Trim(wScript.Arguments(0)))
ExportFolder = WBook.Path & "\" & fs.GetBaseName(WBook.Name)
fs.CreateFolder(ExportFolder)
For Each VBComp In WBook.VBProject.VBComponents
Select Case VBComp.Type
Case vbext_ct_ClassModule, vbext_ct_Document
Sfx = ".cls"
Case vbext_ct_MSForm
Sfx = ".frm"
Case vbext_ct_StdModule
Sfx = ".bas"
Case Else
Sfx = ""
End Select
If Sfx <> "" Then
On Error Resume Next
Err.Clear
VBComp.Export ExportFolder & "\" & VBComp.Name & Sfx
If Err.Number <> 0 Then
MsgBox "Failed to export " & ExportFolder & "\" & VBComp.Name & Sfx
End If
On Error Goto 0
End If
Next
xl.Quit
End If
End Sub
-Adam
Khi tôi đang làm rất nhiều phát triển Excel VBA tôi đã thành thói quen xuất khẩu sang định dạng văn bản cho mỗi tập tin (mô-đun, vv) mỗi khi tôi làm một sự thay đổi (từ menu ngữ cảnh). Tôi giữ các tập tin trong kiểm soát nguồn cùng với nhị phân XLA. Điều này làm việc khá tốt cho tôi và không yêu cầu bất kỳ công cụ bên ngoài.
Ngoài ra, quá trình xuất các thành phần VBA (mã, biểu mẫu) có thể được tự động với một số mã VBA: xem tại [Ron de Bruin] (https://www.rondebruin.nl/win/s9/win002.htm) & ở đây [Chip Pearson] (http://www.cpearson.com/excel/vbe.aspx). Tôi đã sửa đổi mã de Bruin và sử dụng một lá cờ trong tên ("SHARE _....") để nó vòng qua nó chỉ xuất các tập tin tôi muốn. – tjejojyj
Tôi đã sử dụng thành công này trong vài năm qua để xuất mã của tôi và lưu mã đó. Tôi có thể xác nhận nó hoạt động trong Office 2003, 2007. Tôi cho rằng nó hoạt động vào năm 2000.
SourceTools là tốt khi bạn sẵn sàng và chạy, nhưng nếu bạn đang cần phải xuất khẩu từ một số lượng lớn các bảng tính Excel, mở cửa mỗi người và xuất khẩu nó có thể là một chút tẻ nhạt.
VbaDiff (từ chối trách nhiệm: sản phẩm của tôi) có API có thể đọc qua nhiều tệp Excel và trích xuất mã VBA. Có một ví dụ về here - nó có thể dễ dàng được điều chỉnh để xuất mã vào một tệp, sẵn sàng để được đăng ký. Nếu bạn tốt với SharpSvn, bạn có thể thêm mã vào kho lưu trữ khi bạn đi!
- 1. Kiểm soát nguồn của mô-đun mã VBA Excel
- 2. Theo dõi các tệp Excel trong Kiểm soát Phiên bản
- 3. Trích xuất VBA từ bảng tính Excel
- 4. Kiểm soát phiên bản mã Apex
- 5. Tài liệu cho các macro Excel VBA
- 6. Liên kết mã vùng để kiểm soát phiên bản
- 7. Kiểm soát phiên bản nhanh?
- 8. Phương pháp kiểm soát phiên bản SQL
- 9. Kiểm soát phiên bản cơ sở dữ liệu
- 10. Nhiều hệ thống kiểm soát phiên bản đồng thời?
- 11. Virtualenv và kiểm soát phiên bản nguồn
- 12. Viết Excel VBA để nhận dữ liệu từ Access
- 13. Đồ thị và kiểm soát phiên bản
- 14. vba: Nhập tệp văn bản vào bảng excel
- 15. kiểm soát phiên bản: cách kiểm soát phiên bản nén/rút gọn css và js giữa các môi trường
- 16. Kiểm soát phiên bản "trong đám mây"
- 17. Kiểm soát phiên bản cho văn xuôi
- 18. Văn bản thay thế trong mã VBA của tệp Excel
- 19. kiểm soát phiên bản trên các tệp lớn
- 20. Điều khiển phiên bản tài liệu
- 21. Kiểm soát phiên bản NetBeans cho newb?
- 22. Kiểm soát phiên bản cho các dự án Adobe Flash
- 23. Tái cấu trúc độc đáo với Kiểm soát phiên bản
- 24. Sử dụng sáng tạo để kiểm soát phiên bản
- 25. ASP.NET - Danh sách kiểm tra cơ bản để đưa trang web vào sản xuất
- 26. Chuỗi VBA Excel VBA
- 27. Thực hành tốt nhất để duy trì mã nguồn dưới sự kiểm soát phiên bản với nhiều công ty?
- 28. số lên xuống kiểm soát trong vba
- 29. Làm thế nào để kiểm soát phiên bản cơ sở dữ liệu SQL Server?
- 30. Đặt mã Excel-VBA vào mô-đun hoặc trang tính?
Tập lệnh này ở trên không hoàn hảo. Sau khi tìm kiếm trên web trong một thời gian dài, cuối cùng tôi đã tìm thấy điều gì đó thực sự hoạt động: http://stackoverflow.com/a/25984759/2780179 . Nó có nhập mã, xuất, định dạng mã và hơn thế nữa. Bạn có thể sử dụng nó ngay lập tức, không cần phải chỉnh sửa bất kỳ sổ làm việc hiện có nào. – CodeKid