다중 사용자 환경 / Excel 파일 문제 파일을 가지고 있습니다.

우리는 우리의 네트워크에있는 한 사람이 일반적으로 열어두고 변경하는 Excel 파일을 가지고 있습니다. 다른 사용자는 파일을 읽기 전용 모드로 유지합니다.

때로는 엑셀 파일을 편집하는 사람이 아닌 다른 사람이 해당 파일을 열어서 그 파일의 쓰기 기능을 대신 수행하여 편집자가 변경 사항을 저장할 수 없도록 만듭니다.

이것은 꽤 오랜 시간 동안 발생 해 왔고 나는 그것에 대한 해결책을 찾을 수없는 것 같습니다.

무슨 일이야?

Office 2010
Windows 7 Pro x64



답변

가능한 수정 방법은 다음과 같습니다. ‘다른 이름으로 저장’대화 상자에서 ‘도구’- & gt; “일반 옵션”에서 “읽기 전용 권장”을 선택하고 저장하십시오.

“Save As” dialog “General Options” dialog, with “Read-only recommended” marked

그러면 누구든지 파일을 열면 언제든지 다음과 같이 표시됩니다.

“Open as read-only?” dialog

파일을 편집 할 사람 (또는 부재시 부재 중 하나)을 제외하고는 “예”를 클릭하도록 지시합니다.


답변

나는 다음 상황에 대한 또 다른 접근법을 선택했다.
Excel 데이터베이스가 있습니다. DataBase.xls와 Excel 템플릿 Programs.xlt은 공유되지 않으며 네트워크 서버 / 디스크의 디렉터리에 상주합니다. 각 사용자는 프로그램 템플릿의 복사본을 사용하므로 첫 번째 사용자는 Programs1.xls이고 n 번째 사용자는 Programs.xls입니다.
규칙은 다음과 같습니다.
. 동시에 많은 동시 읽기가 가능합니다.
. 동시 읽기가 없으면 단 하나의 쓰기 만 가능합니다 (업데이트 된 레코드의 “절반”읽기 방지)
. 읽기 및 쓰기 동작은 표준화되어 가능한 한 짧게 유지됩니다.

내가 선택한 해결책은 심판 / 심판 / 조정관 / 중재인입니다. 심판관 xls이라고합니다.
그것은 공유 엑셀 파일이며 위에서 언급 한 동일한 디렉토리에 있으며 매우 작습니다 : 읽기 카운터 nRead와 쓰기 카운터 nWrite의 두 필드로만 구성됩니다.
데이터베이스에 대한 액세스를 원하는 모든 사용자는 심판에게 읽기 또는 쓰기 요청을 보냅니다.

읽기 요청의 경우, 심판은 쓰기 작업이 없으면 (nWrite = 0) 점검하고 기다린 다음 nRead 카운터를 1 씩 증가시켜 해당 사용자에 대한 읽기를 허용합니다. 읽기 작업이 완료되면 nRead 카운터가 1 씩 감소합니다.

쓰기 요구의 경우, 주심은 더 이상의 쓰기 동작이 없을 때까지 (nWrite = 0), 모든 읽기 동작이 완료 될 때까지 (nRead = 0) 레퍼리가 검사 / 대기 한 후 쓰기 요청을 허용 할 때까지 기다린다 nWrite 카운터를 1로 설정합니다. 쓰기 작업이 완료되면 쓰기 카운터 nWrite가 0으로 설정됩니다. 그런 다음 주심은 새로운 읽기 및 / 또는 쓰기 요청을 부여 할 수 있습니다. 대기는 1 초 (1000 밀리 초)의 단계로 “Kernel32″Lib의 “Sleep”기능으로 구현됩니다. 단계도 계산되며 6 단계 / 초 후에 읽기 요청 시간이 초과되고 10 초 / 초 후에 쓰기 요청이 시간 초과됩니다. 그러나 이것은 많은 요소에 크게 의존하므로 실제로 찾아야합니다.

이 모든 기능은 최대 동시 사용자가 14 명인 Excel 2003, Windows XP 환경에서 매우 효과적입니다. 이 사용자는 5000 평방 킬로미터의 지역에 분산되어있는 여러 곳에서 일하는 관리자로, 직원을 위해 Medical Competence Information, Personal Information, Appointments 등을 업데이트하기 위해 매일 도구를 사용합니다 (관리자 당 평균 15 명)


답변

이것이 내가 생각할 수있는 유일한 방법은

  • 사용자가 범위 편집 허용 옵션이 구성되었습니다 (검토 – & gt; 변경 리본)
  • 사용자 1이 파일을 항상 열어 두거나 운영 체제가 대기 모드로 전환되면 Excel의 잠금이 해제 될 수 있습니다.

답변