xlsm 템플릿 파일을 사용자에게 다운로드 중입니다. 다운로드 후 문서가 열리면 'ThisWorkbook.Sheets ("DataSheet") 줄의 "Worksheet 클래스의 Activate 속성을 가져올 수 없습니다."오류가 발생합니다.'inconsistently '를 활성화하십시오. 내가 뭘 잘못하고 있는지 이해할 수 없다. 내 코드는Excel VBA : <워크 시트 클래스의 Activate 속성을 가져올 수 없습니다.>
,
Sub GetData(hostName As String, id As String)
'Construct the Complete URL to get the saved view data
Dim URL As String
URL = hostName + "/Controller/Action?param=" + id
ThisWorkbook.Sheets("DataSheet").Activate
ThisWorkbook.Sheets("DataSheet").Cells.ClearContents
With ActiveSheet.QueryTables.Add(_
Connection:="URL;" + URL, _
Destination:=Range("a1")) _
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SaveData = True
End With
End Sub
어떤 아이디어가?
업데이트 : 다운로드 후 처음 열 때만이 오류가 발생합니다 (내 앱에서 매크로 다운로드 문서 - XLSM에서 사용자에게 다운로드 중임). 내가 문서 다시 열기를 폐쇄되면, 그것은 작동하고 잘 :(
은 * (숨겨지지) * 눈에 보이는 데이터 시트 –
은 데이터 시트를 활성화하지 않습니다 워크 시트입니다 차이점을 만드시겠습니까? With 문의 첫 번째 줄을 ** Sheets ("DataSheet")로 바꿀 수 없습니까? QueryTables.Add (_ ** 코드에서 먼저 활성화해야하는 이유가 없습니다 – sous2817
** Activate **는 (cell.activate, workbook.activate, range.activate와 같은) 메소드이고 AFAIK ** Activate **는 전혀 속성이 아닙니다. –