파일을 열 때 자동으로 다른 가상 데스크톱으로 전환되지 않도록 방지

파일을 열 때 자동으로 다른 가상 데스크톱으로 전환되지 않도록 방지

나는 한동안 Windows 10에서 가상 데스크톱을 사용해 왔습니다. 잘 작동합니다. 제가 발견하고 해결하고 싶은 유일한 문제는 다음 시나리오와 같습니다.

  • 나에겐 가상이 있다데스크탑 1Sheet.xlsx 또는 Doc.docx에서 Microsoft Excel 또는 Microsoft Word 열기 사용
  • 나에겐 가상이 있다데스크탑 2다른 시트/문서인 Sheet2.xlsx 또는 Doc2.xlsx를 열려고 합니다.

이 경우 다음으로 전환됩니다.데스크탑 1, 이미 Excel/Word가 열려 있기 때문입니다.데스크탑 2내가 거기 있기 때문에. 물론 Sheet2.xlsx/Doc2.xlsx 창을 Desktop 2로 옮길 수도 있지만 멀티태스킹에서는 수동으로 해야 합니다.

다른 응용 프로그램은 시도하지 않았지만 동일한 동작인 것으로 추측됩니다.

어쨌든 이 동작을 방지하고 Windows가 현재 가상 데스크톱에서 다른 문서/시트를 열도록 할 수 있습니까?

답변1

MS Office 2013부터 각 Office 앱의 창은 실행 파일의 단일 인스턴스에서 실행됩니다. 인스턴스가 새 창을 열면 작업 보기는 먼저 기존 앱 창으로 전환합니다. (나의 또 다른 불만은 여러 UNDO 명령이 여러 창에서 시간순으로 역추적된다는 것인데, 이는 결코 내가 원하는 것이 아닙니다.)

워드와 엑셀

명령줄 옵션을 사용하여 각 Word 및 Excel 창을 별도의 인스턴스에서 실행함으로써 Office 2016의 문제를 해결했습니다. Word의 경우 옵션은 /N; Excel의 경우 입니다 /X. 약간의 추가 시작 시간과 약간의 추가 메모리가 필요합니다. 나는 한 번에 많은 창을 실행하지 않기 때문에 나에게는 악화가 줄어든 것이 그만한 가치가 있습니다.

바탕 화면 아이콘, 사용자 정의 도구 모음 및 기타 바로 가기의 경우 간단히 속성을 편집하고 대상 명령줄에 옵션을 추가할 수 있습니다.

"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" /X "C:\Data\Weather\Weather Log.xls"

파일을 열 때(예: 더블 클릭) 옵션을 적용하는 것은 조금 더 어렵습니다.

  1. 명령 창 열기관리자로 실행 중.

  2. 파일 확장자와 연결된 파일 형식을 찾으세요.

> .xls 연결
.xls=엑셀.시트.8
  1. 해당 파일 형식을 여는 데 사용되는 명령을 찾으세요.
> ftype excel.sheet.8
excel.sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" "%1"
  1. 해당 명령을 다음 옵션이 포함된 명령으로 바꾸세요.
> ftype excel.sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
excel.sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
  1. 사용하는 각 파일 확장자(예: .xlsx)에 대해 2단계부터 반복합니다. 동일한 파일 형식을 가진 파일은 더 이상 변경할 필요가 없습니다.

모든 Excel ftype 정의를 .BAT 파일로 캡처하고, 파일을 편집하여 ftype각 줄의 시작 부분과 /X각 .EXE 뒤에 추가하고, (.BAT 스크립트의 경우) %1다음으로 변경하여 전체적인 변경을 수행할 수 있습니다.%%1

> f유형 | /i "office16\excel" > ftypes.bat 찾기

> [텍스트 편집기] ftypes.bat
    (위에서 설명한 대로 변경하세요)

결과 스크립트를 실행하면 다음과 유사한 출력이 생성됩니다.

> ftypes.bat

> ftype dqyfile=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1"
dqyfile=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1"

> ftype Excel.Addin="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Addin="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.Backup="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Backup="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.Chart=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1"
Excel.Chart=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1"

> ftype Excel.Chart.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Chart.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.CSV="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.CSV="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.Macrosheet="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Macrosheet="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.OpenDocumentSpreadsheet.12="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.OpenDocumentSpreadsheet.12="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.Sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Sheet.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.Sheet.12="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Sheet.12="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.SLK="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.SLK="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.Template="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Template="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.Template.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Template.8="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.Workspace="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.Workspace="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excel.XLL="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"
Excel.XLL="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X "%1"

> ftype Excelhtmlfile="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X
Excelhtmlfile="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X

> ftype Excelhtmltemplate="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X
Excelhtmltemplate="C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE" /X

> ftype iqyfile=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1"
iqyfile=C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE /X "%1"

기타 Office 앱

일부 Office 앱, 특히 PowerPoint에는 새 인스턴스를 시작하는 옵션이 없습니다. 그러나 다른 사용자로 앱을 실행하면 새 인스턴스가 생성됩니다. 따라서 한 가지 해결 방법은 PowerPoint를 동시에 열려는 만큼의 가상 데스크톱에 대해 로컬 Windows 사용자를 만드는 것입니다. 새 인스턴스를 열기 전에 이미 실행 중인 사용자/인스턴스를 기억해야 하기 때문에 이 구성표는 이상적이지 않습니다. 몇 개만 가지고 있다면 그다지 나쁘지 않을 수도 있습니다.

각 사용자를 생성하려면:

설정 > 계정 > 가족 및 기타 사용자 > [+] 이 PC에 다른 사람 추가

  1. 이 사람의 로그인 정보가 없습니다
  2. Microsoft 계정 없이 사용자 추가
  3. 새 사용자 이름, 비밀번호, 보안 질문을 입력하세요.

지정된 사용자로 PowerPoint를 시작하는 바로 가기를 만들려면 다음과 같은 명령을 사용하도록 바로 가기의 속성을 편집합니다.

runas  /user:user2  /savecred  "C:\Program Files (x86)\Microsoft Office\root\Office16\POWERPNT.EXE"

runas사용자의 비밀번호를 묻는 메시지가 나타납니다. /savecred처음 비밀번호를 저장하고 이후에는 저장된 비밀번호를 사용합니다. 처음에는 각 바로가기를 만들고 싶을 수도 있습니다.실행: 일반 창, 나중에 다음으로 변경실행: 최소화됨.

이러한 바로 가기는 Windows 바탕 화면이나 사용자 정의 도구 모음 메뉴에 있을 수 있습니다. PowerPoint가 실행되면 여기에서 PPT 파일을 열거나 파일 탐색기에서 파일을 끌어서 놓을 수 있습니다. 장시간 동안 몇 가지 PPT 파일을 작업하는 경우 각 파일에 대한 바로가기를 만들어 실행할 사용자를 지정할 수 있습니다.

PPT 파일에서 PowerPoint 인스턴스 열기

불행하게도 위에서 설명한 바탕 화면 바로 가기 중 하나로 PPT 파일을 드래그하면 runas전체 PowerPoint 명령줄을 인용해야 하기 때문에 작동하지 않습니다. PPT 파일을 여는 단축키에는 인용문을 정리하기 위한 중간 스크립트가 직접 필요합니다. "와 같은 스크립트를 작성하십시오.PowerPoint_User.bat":

:: Usage:  PowerPoint_User  <username>  <PPT filename>
:: Opens a PPT file as a specified user, starting a new PowerPoint instance on
:: the current virtual desktop if that user was not already running PowerPoint.
:: (%~f2 expands %2 to full path with no quotes.  See "call /?".)
@echo off
C:\Windows\System32\runas.exe /user:%1 /savecred "POWERPNT.EXE \"%~f2\""

그런 다음 다음과 같은 명령을 사용하여 각 사용자에 대한 바로가기를 만듭니다.

C:\bin\PowerPoint_User.bat  user2

바로가기가 Windows 바탕화면에 있으면 PPT 파일을 그 위로 끌어서 놓을 수 있습니다. 에서 바로가기를 만든 경우 %USERPROFILE%\AppData\Roaming\Microsoft\Windows\SendToPPT 파일을 마우스 오른쪽 버튼으로 클릭하고 "다음으로 보내기" 메뉴. 두 경우 모두 각 바로가기를 처음 실행할 때 비밀번호를 묻는 메시지가 표시된다는 점을 기억하세요.

(바로가기를 디버그해야 하는 경우 다음으로 설정하세요.실행: 일반 창, cmd /k명령 앞에 추가하고 @echo off스크립트에서 제거합니다.)

답변2

Excel은 동일한 실행 파일을 사용하여 시트를 열므로 데스크톱을 전환합니다. 해결책은 두 번째를 여는 것입니다.인스턴스엑셀의:

데스크톱 2로 이동:

  • 시작 메뉴를 열고 Excel을 검색하세요.
  • Alt를 누르고 Excel 기호를 클릭합니다.
  • "새 Excel 인스턴스를 시작하시겠습니까?"라는 메시지가 나타나면 예를 누릅니다.

다른 인스턴스가 선택된 경우에도 Excel은 파일 탐색기에서 열 때 시트를 열 때 최신 인스턴스만 사용하는 것으로 나타났습니다.

따라서 해결 방법으로 나중에 데스크톱 1에서 다른 시트를 열려면 해당 데스크톱의 인스턴스로 이동한 다음(닫힌 경우 새 인스턴스 열기) "파일 -> 열기"를 클릭하여 해당 인스턴스에서 새 시트를 엽니다. 사례.

답변3

실행 파일의 단일 인스턴스에서 Excel을 계속 실행할 수 있도록 하는(따라서 통합 문서 간에 복사하여 붙여넣는 기능을 계속 가질 수 있도록 하는) 한 가지 솔루션은 Excel이 모든 데스크톱에 표시되도록 설정하는 것입니다.

윈도우 10:

  1. 열려 있는작업 보기(Win+Tab 누르기)
  2. 선택하다 (호버링포인터 위에) Excel이 열려 있는 가상 데스크톱을 엽니다.
  3. 열려 있는 Excel 창을 마우스 오른쪽 버튼으로 클릭하거나 길게 누르고 다음을 클릭합니다.모든 데스크톱에서 이 앱의 창을 표시합니다..

윈도우 11:

  1. 다음을 클릭하세요.작업 보기아이콘을 누르거나 Win+Tab을 누르세요.작업 보기 아이콘
  2. 마우스 오른쪽 버튼을 클릭하세요.엑셀창.
  3. 선택하다모든 데스크톱에서 이 앱의 창을 표시합니다..

답변4

방금 이 문제를 발견했는데 쉽게 해결할 수 있는 것 같습니다. 저는 Windows 11을 사용하고 있습니다. 2개의 Excel 스프레드시트를 포함하여 2개의 가상 데스크톱에서 사용하려는 앱과 창을 열려면 작업 표시줄의 데스크톱 버튼을 한 번 클릭하기만 하면 됩니다. 그러면 열려 있는 모든 창과 하단의 모든 데스크탑을 보여주는 화면이 나타납니다. Desktop 2처럼 원하는 Excel 창을 Desktop 2로 끌어오면 됩니다. 완료되었습니다!

관련 정보