워크북을 개체로 정의할 수 없는 이유는 무엇입니까?
다음 방법 중 하나로 워크북을 정의할 수 없는 이유는 무엇입니까?(간단한 테스트를 위해 범위 비트를 가지고 있습니다.)어떻게 고치죠?
이는 다음을 생성합니다."Compile Error: Type Mismatch"
Sub Setwbk()
Dim wbk As Workbook
Set wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _
Master Benchmark Data Sheet.xlsx"
Range("A2") = wbk.Name
End Sub
그리고 이것은 다음을 만듭니다."Runtime Error '91': Object variable or with block variable not set"
Sub Setwbk()
Dim wbk As Workbook
wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _
Master Benchmark Data Sheet.xlsx"
Range("A2") = wbk.Name
End Sub
내가 여기서 뭘 놓쳤지요?저는 한 달 동안 VBA를 열심히 공부했고, 꽤 정교해졌지만, 이것은 저를 당황하게 했습니다.뭔가 기본적인 것을 놓치고 있어요.
워크북을 정의하여 모든 것을 입력할 필요가 없습니다!
그것은 사실 합리적인 질문입니다.다음은 Excel 2010 도움말의 답변입니다.
"Workbook 개체는 Workbook 컬렉션의 구성원입니다.워크북 모음에는 현재 Microsoft Excel에서 열려 있는 모든 워크북 개체가 포함되어 있습니다."
따라서 워크북이 열려 있지 않기 때문에 워크북 개체로 설정할 수 없습니다.열려 있으면 다음과 같이 설정할 수 있습니다.
Set wbk = workbooks("Master Benchmark Data Sheet.xlsx")
이를 참조하려면 워크북을 열어야 합니다.
Sub Setwbk()
Dim wbk As Workbook
Set wbk = Workbooks.Open("F:\Quarterly Reports\2012 Reports\New Reports\ _
Master Benchmark Data Sheet.xlsx")
End Sub
워크북이 이미 열려 있으면 Doug의 대답을 따릅니다.이 답변을 가능한 한 완벽하게 하기 위해, 저는 그의 답변에 제 의견을 포함합니다.
왜 "설정"해야 합니까?
Set
VBA가 개체 변수를 할당하는 방법입니다.그 이후로Range
그리고 aWorkbook
/Worksheet
객체입니다. 사용해야 합니다.Set
이것들과 함께
언급URL : https://stackoverflow.com/questions/11054482/why-cant-i-define-my-workbook-as-an-object
'programing' 카테고리의 다른 글
Xcode 8 - IB Designables - 자동 레이아웃 상태 렌더링 및 업데이트 실패, 에이전트 충돌 (0) | 2023.06.08 |
---|---|
fputcsv and integer typcasting to string (0) | 2023.06.08 |
빌드 서버에서 Visual Studio 없이 ASP.NET 4.5 빌드 (0) | 2023.06.08 |
다른 개발자들을 위한 프레임워크나 라이브러리를 구축하는 방법, 안전한 방법? (0) | 2023.06.03 |
Eclipse에서 기본 텍스트 파일 인코딩을 변경하는 방법은 무엇입니까? (0) | 2023.06.03 |