열린 Excel 문서를 별도의 창으로 이동


14

관련 (동일하지는 않음) : 새 창에서 Excel 파일 열기

동일한 창에서 여러 문서가 열린 Excel 인스턴스가있는 경우. 현재 실행중인 Excel 인스턴스의 창 중 하나를 완전히 분리하여 완전히 다른 창에 놓을 수있는 방법이 있습니까?

무엇을 하지 법안에 맞게 :

  • 모든 /보기를 나란히 / 다른 MDI 물건을 배열하십시오. 다른 모니터에서 별도로 최대화 할 수 있고 창 시스템에서 다르게 관리되는 별도의 창을 원합니다.
  • 실행중인 인스턴스에서 저장 / 닫은 다음 새 Excel 인스턴스를 열고 거기에서 파일을여십시오 (현재 내가하는 일이지만 고통 스럽습니다)

편집 : 대상 Excel 버전은 2007 및 2010입니다.


당신을 도울 수는 없지만 Excel에서 모두 보았습니다 : 하나의 창에있는 모든 것 (MDI와 같음)과 각 시트에 하나의 창이 있습니다. 당신은 사전을 확인 했습니까? 아마도 옵션일까요?
Aaron Digulla

1
@Aaron 허용 할 수 있고 잠재적으로 지금 내가 얻은 것보다 더 나을 것입니다. 그러나 그 옵션은 어디에도 없습니다.
Daniel DiPaolo

1
하나의 Excel 창에 나를 고정시킨 것에 대해 Microsoft는 비난받습니다! 귀하의 OS가 Windows-복수가 아닙니까? 창 7에 오신 것을 환영합니다!
dunxd 2016 년

@dunxd-앞으로 "이전"주석을 읽는 것은 재미있는 일입니다. 앞으로 Excel에서는 각 통합 문서를 별도의 창 에서 열었다 고 불평하는 사용자가 계속 있습니다.
ashleedawg

이제 Chrome에서와 같이 탭 해제되거나 다시 결합 될 수있는 탭이있는 창은 두 가지 방법 중 최고입니다. 훌륭한 UI 발전.
dunxd

답변:


4

재미있는 생각. 사용자 정의 매크로가 없으면이 작업을 수행 할 수 없다고 확신합니다. 비오는 일요일이되면 ...

Sub OpenInNewInstance()
     Dim objXLNewApp As Excel.Application
     Dim doc As String

     doc = ActiveWorkbook.FullName
     ActiveWorkbook.Close True

     Set objXLNewApp = CreateObject("Excel.Application")

     objXLNewApp.Workbooks.Open doc
     objXLNewApp.Visible = True
End Sub

VBA에 익숙하지 않다고 가정하면 다음을 수행해야합니다.

  1. 위의 코드를 복사
  2. 새 Excel 통합 문서를 연 상태에서 Excel의 VBA 편집기 (Alt + F11)를 엽니 다.
  3. VBAProject (Book1)를 마우스 오른쪽 버튼으로 클릭하십시오 (또는 왼쪽 메뉴에서 호출 된 것)
  4. 삽입> 모듈을 선택하십시오.
  5. 코드를 메인 윈도우에 붙여 넣기
  6. 다시 Excel로 돌아가서 다른 통합 문서를 선택하여 코드를 테스트하십시오. 통합 문서를 닫기 전에 저장합니다.
  7. VBA 편집기로 돌아가서 붙여 넣은 모듈을 선택하고 재생 버튼을 누르십시오

컴퓨터에 3 가지 버전의 Excel이 설치되어 있으며 Excel 2010에서이 버전을 실행하면 Excel 2003의 새 인스턴스가 열립니다.

이것이 귀하의 요구에 적합하다면, 이것을 애드 인으로 포장하여 리본 버튼으로 사용할 수 있습니다. 알려 주시면 익숙하지 않은 경우 도와 드리겠습니다.

편집 :이 방법이 효과적이라면 추가 할 코드가 추가되어 새 Excel 인스턴스가 다른 창에서 최대화됩니다. 알려주세요.


이것은 완벽 해요! (이다 엑셀 2010, 사용해야하는 상황을 감안할 때)
토비아스 Kienzler

또는 Excel 아이콘을 마우스 오른쪽 버튼으로 클릭하고 Microsoft Excel을 클릭하면 새 인스턴스가 열립니다 (기본적으로 위의 코드에서 수행하는 것임). 내가 실수로 실수를 반복하는 방법을 알 수없는 경우 기존 응용 프로그램의 MDI 외부에서 Excel 통합 문서가 열리지 만 (효과적으로 별도의 창에 해당 통합 문서를 제공 할 수 있음) 다른 통합 문서와 여전히 상호 작용할 수 있습니다 (내 주요 MDI의 vlookups (vlookups 등)
William

3

시트를 새 창으로 "찢을"방법이 없지만 처음부터 두 개의 창을 원한다는 것을 알고 있다면 이것이 가장 빠른 방법입니다.

평소대로 첫 파일을 엽니 다. Shift + Excel 작업 표시 줄 단추 (화면 하단, 시작 단추와 시계 사이)를 클릭하십시오. 이렇게하면 Excel에서 새 인스턴스를 별도의 창으로 열게됩니다. 새 창으로 이동하여 파일-> 열기를 클릭하여 두 번째 파일을여십시오. 여러 개의 창에 필요에 따라 헹구고 반복하십시오.

불행히도 Excel을 열기 위해 파일을 두 번 클릭하려면 두 번째 창에 대한 습관을 깰 필요가 있습니다. 이것이 나의 일반적인 문제입니다. 그러나 약간의 앞선 생각으로는 쉬운 방법이 없습니다.


0

2 개의 인스턴스를 열려면 열려는 첫 번째 파일을 두 번 클릭하십시오. 일단 열리면 start / programs / msoffice / excel로 이동하여 거기에서 다른 인스턴스를 엽니 다. 그런 다음 File / open을 사용할 수 있습니다. 폴더 옵션> 파일 형식, XLS, 고급을 보지 않으면 열기 양식을 확인하십시오.


나는 내가 이미 이것을하고 있다고 구체적으로 언급했다.
Daniel DiPaolo

죄송합니다. 창과 인스턴스가 섞여있었습니다. 그리고 두 모니터에서 Excel을 최대화하고 그 창을 개별적으로 관리 할 수있는 새 창을 보려고한다고 가정합니다.
Dave

보기> 새 창은 MDI 이외의 새 창이 아닌 동일한 인스턴스 내에 새 창을 만듭니다.
Daniel DiPaolo

0

위 의 대답 은 아마도 활성 통합 문서 이외의 통합 문서에서 작동 할 것입니다 . 여기 내가 사용한 걸


시작시 통합 문서가 단독인지 확인하십시오.

Private Sub Workbook_Open()
    If Application.Workbooks.Count > 1 Then  'check if there's >1 open wb's in this instance
        If MsgBox("This workbook will be moved to a new instance of Excel," & vbLf & _
            "so as to not affect performance of your other workbooks.", _
            vbOKCancel + vbInformation + vbDefaultButton1 + vbMsgBoxSetForeground) _
            = vbCancel Then Exit Sub
        Debug.Print Application.Hinstance, "Moving wb to new instance."
        OpenInNewInstance
        Debug.Print Application.Hinstance, "Moved wb to new instance."
    Else
        Debug.Print "This wb is in it's own instance. (#" & Application.Hinstance & ")"
    End If
End Sub

Sub OpenInNewInstance()
    With ThisWorkbook
        .Save                                           'save workbook before making it read-only
        .ChangeFileAccess xlReadOnly                    'make this wb read-only (so the other isn't)
        Shell ("excel.exe /x """ & .FullName & """")    'open current wb in new instance
        .Close                                          'close this workbook
    End With
End Sub

이 코드는 모듈들어가ThisWorkbook 므로 통합 문서가 열릴 때이 인스턴스에서 유일한 통합 문서가 열려 있는지 확인하고 그렇지 않은 경우 즉시 확인합니다.

  1. 현재 통합 문서 저장
  2. 현재 wb를 읽기 전용으로 설정 (두 번째 사본이 문제가되지 않도록)
  3. 셸 대 명령 프롬프트에서 새 인스턴스에서 Excel을 열려면 (Excel /x명령 줄 스위치 사용 ) 현재 통합 문서의 다른 인스턴스를로드합니다.
  4. 현재 통합 문서 닫기

필요한 경우 새 인스턴스를 열 때 명령 등을 새 인스턴스로 전송 하기 위해 사용자 지정 명령 줄을 사용할 수 있습니다 . 새 인스턴스의 애플리케이션 창을 숨기는 장단점을 고려할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.