열려있는 통합 문서에서 5 번째 시트를 호출하려고합니다. 내가 프로그램에서 통합 문서를 열 때 나는 그것을 할 수있을 것 :워크 북에서 시트 호출
Dim CurrentRun As New Excel.Application
Dim CurrentBook As Excel.Workbook
Dim CurrentSheet As Excel.Worksheet
Private Sub GeneralButtonOpener_Click(sender As Object, e As EventArgs) Handles GeneralButtonOpener.Click
CurrentRun.Visible = True
CurrentBook = CurrentRun.Workbooks.Add(MainTemplatePath)
CurrentSheet = CurrentBook.Worksheets(4)
CurrentSheet.Activate()
End Sub
그러나 내 모든 시도를 파일이 이미 열려이 실패하는 경우 시트를 호출에 :
Dim CurrentRun As Microsoft.Office.Interop.Excel.Application
Dim CurrentBook As Microsoft.Office.Interop.Excel.Workbook
Dim CurrentSheet As Microsoft.Office.Interop.Excel.Worksheet
CurrentRun = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application")
CurrentBook = CurrentRun.Workbooks
CurrentSheet = CurrentBook.Sheets(4)
CurrentSheet.Activate()
또는
을Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim CurrentRun As Microsoft.Office.Interop.Excel.Application
Dim CurrentBook As Excel.Workbook
Dim CurrentSheet As Excel.Worksheet
CurrentRun = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application")
CurrentBook = CurrentRun.ActiveWorkbook
CurrentSheet = CurrentBook.Sheets(4)
CurrentSheet.Activate()
End Sub
몇 가지 예를 살펴 보았지만 잘못된 부분을 파악할 수 없습니다. 주제에 관해 많은 질문이있는 것처럼 보이는 것이 놀랍습니다. Ether이 해결되었거나 해결 된 곳 또는 특별히 잘못하고있는 부분에 대한 포인터가 인정 될 것입니다.
감사합니다.
는 "실패". 응용 프로그램에서 사용자를 무시하는 것처럼 보이는지 또는 예외가 발생했음을 의미합니까? – JDB
@ Cyborgx37 그들은 둘 다 나를 무시하거나 아무 것도하지 않는 것 같습니다. 예외가 생기면 게시 할 것입니다. 나는 그것으로 놀아 보려고 노력했다. 그리고 만약 내가 너무 바보 같은 인덱스 (90)를 넣으려는 것처럼 어리석은 짓을하다 보면 나는 인덱스 오류를 벗어날 수있다. 통합 문서 자체에는 10 개의 시트가 있으므로 문제가 될 수 없습니다. –
@ Cyborgx37 더 이상의 디버깅으로 시트를 열지 않고 엑셀로로드 된 표준 책과 함께 (색인을 삭제하거나 시트를 추가하는 경우) 다음과 같은 예외가 발생합니다. '형식의 COM 객체를 캐스팅 할 수 없습니다' System .__ ComObject '를 인터페이스 유형'Microsoft.Office.Interop.Excel.Workbook '으로 변경합니다. 다음과 같은 오류로 인해 IID '{000208DA-0000-0000-C000-000000000046}'인터페이스의 COM 구성 요소에서 QueryInterface 호출이 실패했기 때문에이 작업이 실패했습니다. 해당 인터페이스가 지원되지 않습니다 (HRESULT : 0x80004002 (E_NOINTERFACE) 예외). .' –