코드를 Subversion 저장소에 추가 할 수 있도록 여러 Excel 문서에서 VBA 코드를 내보내는 방법을 아는 사람이 있습니까? 수동으로 각 문서를 열고 코드를 내 보내지 않아도됩니다.여러 Excel 문서에서 VBA 코드를 내보내기하여 버전 컨트롤에 넣기
답변
당신이 여기에 대한 도구를 찾을 수 있습니다 :
http://www.pretentiousname.com/excel_extractvba/index.html
그것은 Excel을 자동화하는 VBS 스크립트입니다. 필요에 따라 수정할 수 있습니다 - 완벽하지는 않습니다 (주의 사항은 웹 페이지 참조).
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
난에서 나는 각 파일 (모듈 등) 나는 변화를 만들 때마다 텍스트 형식으로 수출하는 습관을 가지고 엑셀 VBA 개발을 많이 (하고 있었다컨텍스트 메뉴). XLA 바이너리와 함께 파일을 소스 제어에 보관했습니다. 이것은 나를 위해 꽤 잘 작동했고 외부 도구를 필요로하지 않았습니다.
또한 VBA 구성 요소 (코드, 양식)를 내보내는 프로세스는 일부 VBA 대구로 자동화 될 수 있습니다. [Ron de Bruin] (https://www.rondebruin.nl/win/s9/win002.htm) & 여기 [칩 피어슨] (http://www.cpearson.com/excel/vbe.aspx). de Bruin 코드를 수정하고 이름 ("SHARE _....")에 플래그를 사용하여 루프를 통해 원하는 파일 만 내 보냅니다. – tjejojyj
지난 몇 년 동안이 코드를 사용하여 코드를 내보내고 저장했습니다. Office 2003, 2007에서 작동하는지 확인할 수 있습니다. 2000 년에도 작동한다고 가정합니다. 당신이 운영되면
SourceTools 좋은이지만, Excel 통합 문서의 많은 수에서 각각 열기를 내보낼 필요가 수출하는 경우는 조금 지루한 될 수 있습니다.
VbaDiff (면책 조항 : 내 제품)에는 여러 Excel 파일을 읽고 VBA 코드를 추출 할 수있는 API가 있습니다. here의 예가 있습니다. 코드를 파일로 내보내 쉽게 체크인 할 수 있습니다. SharpSvn을 잘 사용하고 있다면 저장소에 코드를 추가 할 수 있습니다.
- 1. VBA Excel - 다른 통합 문서에서 데이터 읽기
- 2. Excel-VBA 코드를 모듈 또는 시트에 넣으시겠습니까?
- 3. Excel C# Interop vs. Excel VBA
- 4. Excel VBA : 다른 통합 문서에서 행을 복사하지만 함수 결과 만
- 5. 단위 테스트 Excel VBA 코드
- 6. Excel VBA 매크로 : 붙여 넣기 전에 (클립 보드의) 내용을 확인하십시오.
- 7. Excel VBA Workbook.ChangeFileAccess
- 8. Word 2007 문서에서 매크로 (VBA) 코드를 프로그래밍 방식으로 추출
- 9. Excel 스프레드 시트에서 VBA 추출
- 10. Excel 통합 문서에서 C#
- 11. Excel VBA 매크로
- 12. OpenOffice.org Calc에서 Excel 파일의 VBA 코드를 읽으려면 어떻게해야합니까?
- 13. VBA Excel to SqlServer
- 14. VBA Excel 범위 방법
- 15. VBA Excel 피벗 테이블
- 16. Excel 통합 문서에서 Excel 추가 기능 호출 VSTO
- 17. Excel VBA 조회 문제
- 18. Excel VBA : 인수 전달
- 19. Excel VBA - 열을 요약하십시오.
- 20. Excel VBA 매크로 문서
- 21. Excel, VBA 및 날짜
- 22. EXCEL-MACR0-VBA SOS
- 23. Excel 2010 VBA 작성일
- 24. VBA Excel 파일 닫기
- 25. Excel VBA SQL 데이터
- 26. Excel VBA : 목록 상자
- 27. VB.NET의 Excel vba 프로젝트
- 28. Excel VBA 코드 변환
- 29. VBA Excel 알파벳순 목록 상자
- 30. 배열을 반환하는 Excel VBA 함수
위의 스크립트는 완벽하지 않습니다. 오랫동안 웹을 검색 한 후에 마침내 실제로 작동하는 것을 발견했습니다. http://stackoverflow.com/a/25984759/2780179 . 코드 가져 오기, 내보내기, 코드 형식 지정 등이 있습니다. 기존 통합 문서를 편집 할 필요없이 즉시 사용할 수 있습니다. – CodeKid