VBA의 다른 특정 워크북에서 기능을 호출하는 방법은 무엇입니까?
애플리케이션을 사용하지 않고도 특정 워크시트에 대해 가능하기 때문에 다른 지정 워크북의 모듈에서 VBA 함수나 메서드를 호출할 수 있는 방법이 있는지 알고 싶습니다.달려.
워크시트에 대해 예를 들어 설명할 수 있습니다.
ActiveSheet.MyTest()
MyTest가 시트 모듈에 정의되어 있는 경우
그러나 모듈에 정의된 함수를 호출하고 싶습니다.
노력했습니다.
ActiveWorkbook.MyTestModule()
ActiveWorkbook.VBProject.VBComponents("MyModule").MyTestModule(myArg)
오류를 생성할 수 없습니다. 개체가 이 메서드를 지원하지 않습니다.
전화할 수 있어요
Application.Run(ActiveWorkbook.name & "!MyTestModule", myArg)
하지만 저는 애플리케이션의 오류 처리에 대해 확신할 수 없습니다.실행하면 방법을 직접 실행할 클리너를 찾을 수 있습니다.
호출할 워크북(A라고 부릅니다)에서 호출할 워크북(B라고 부릅니다)에 다음과 같이 참조를 추가할 수 있습니다.
- 워크북 A에서 Microsoft Visual Basic for Applications 창을 엽니다(예: +F11를 눌러).
- 도구, 참조를 선택합니다.
- 나타나는 참조 대화상자에서 찾아보기를 선택합니다.
- [참조 추가] 대화상자가 나타나면 [파일 형식] 상자에서 [Microsoft Excel 파일]을 선택하고 호출할 파일(B)을 선택한 후 [열기]를 선택합니다.
- OK(확인)를 선택하여 References(참조) 대화상자를 닫습니다.
그러면 A 파일에서 B 파일의 공용 모듈 수준 함수를 A 파일에 있는 것처럼 호출할 수 있습니다.이름 충돌을 해결하려면 Microsoft Visual Basic for Applications Tools 메뉴의 Properties 명령을 통해 액세스할 수 있는 Properties(프로젝트 속성) 대화 상자의 General(일반) 탭에 지정된 대로 파일 B에 대한 "프로젝트 이름"으로 호출 앞에 접두사를 붙일 수 있습니다.예를 들어, 파일 B의 "프로젝트 이름"이 "VB프로젝트 B"인 경우 VB프로젝트 B 구문을 사용하여 파일 A에서 함수 F를 호출할 수 있습니다.f.
참고로 다른 워크북의 사용자 지정 데이터 유형에 액세스하려는 경우에도 이 기능이 작동합니다.
' In workbook ABC, project name Library
Public Type Book_Data
Title As String
Pub_Date As Date
Pub_City As String
End Type
' In workbook DEF (after a ref to Library)
Dim Book_Info As Library.Book_Data
Book_Info.Title = "War and Peace"
Debug.Print Book_Info.Title
다른 답변에서 언급한 것처럼 DLL 형식 링크의 성가신 동작을 하지 않고 다른 워크북의 모듈에서 메서드를 호출하려면 다음과 같은 코드를 사용할 수 있습니다.
Dim otherWorkBook As Workbook
Set otherWorkBook = Workbooks.Open("myWorkbook.xlsm")
Call otherWorkBook.Sheets("SomeSheet").someMethod(arg1, arg2...)
여기서 someMethod()는 다른 시트의 모듈 내에서 관심 있는 실제 메서드를 호출하는 메서드입니다.
언급URL : https://stackoverflow.com/questions/10012463/how-to-call-function-from-another-specific-workbook-in-vba
'source' 카테고리의 다른 글
내부에 다른 디렉터리를 만드는 대신 'cp'가 디렉터리를 덮어쓰도록 강제하는 방법은 무엇입니까? (0) | 2023.05.11 |
---|---|
노드 설치 방법.Amazon Linux의 JS (0) | 2023.05.11 |
"그 사이에...End While"이 VBA에서 작동하지 않습니까? (0) | 2023.05.11 |
WPF TextBox가 암호 문자를 사용하도록 만드는 방법은 무엇입니까? (0) | 2023.05.11 |
목표-C에서 방법 스위블링의 위험은 무엇입니까? (0) | 2023.05.11 |