2013-07-26 4 views
0

나는 이것에 대한 답변을 가까이에서 찾았습니다. 그리고 이것은 제가 생각해 냈습니다. 그러나 나는 계속해서 컴파일 오류가 발생합니다 : object required. 그래서 여기에 내가 가진 무엇 :셀에 텍스트가 포함 된 통합 문서를 저장하기위한 VBA 코드가 필요합니다.

나는 "Import_Creator.xlsm"Sheet1의 셀 B2에있는 텍스트를 받아 그 이름과 같은 다른 통합 문서를 저장하는 데 사용할 필요가
Dim strName As String 
Set wbk = "C:\Users\I53014\Desktop\Import_Creator.xlsm" 


strName = wbk.Sheet1.Range("B2") 

ActiveWorkbook.SaveAs strName 

?

답변

2

가정 WBK는

Set wbk = Workbooks.Open("C:\Users\I53014\Desktop\Import_Creator.xlsm") 

현재 당신은 문자열로이 객체를 설정하려고, 통합 문서 개체입니다.

Workbooks 컬렉션은 열려있는 통합 문서만을 나타 내기 때문에이 책도 열려야합니다 (일시적 일지라도).

가능하면 다른 통합 문서의 B2를 참조하는 링크 된 수식을 사용하면 열거 나 닫지 않아도됩니다.

Set wbk = ThisWorkbook 

그냥 관심 밖으로 (에 : 통합 문서가 다음 열려있는 경우이 책은 현재 다음를 실행하는 코드 가 포함 된 경우

추가 당신은

Set wbk = Workbooks("Import_Creator.xlsm") 

를 사용할 수 있습니다 누구나 읽을 수 있음) 열고 닫지 않고도 통합 문서에서 가치를 얻을 수 있습니다.

Range("A1").Formula = "='F:\Documents and Settings\student\My Documents\[AndysData7.xlsx]Staff List'!$D$6" 
MsgBox Range("A1").Value 
Range("A1").Clear 

이것은 수식 입력 셀을 사용하지 않고, 이러한 값을 얻는 것도 가능하다 :

Debug.Print ExecuteExcel4Macro("'F:\Documents and Settings\student\My Documents\[AndysData7.xlsx]Staff List'!R6C4") 

(내 동료 덕분 한스)

+0

앤디, 통합 문서는 열려 매크로가 시작되는 곳입니다. –

+0

안녕하세요, Andy 나는 다른 제안을하기 위해 이것을 얻지 않습니다. –

+0

일할 수없는 것은 무엇입니까? 어떤 오류가 발생합니까? 원래 질문에 업데이트 된 코드를 추가하십시오. 하단에 추가하십시오. 원래 질문을 삭제하거나 변경하지 마십시오.이 스레드를 읽는 누군가를 혼란스럽게 할 수 있습니다. –

관련 문제