Stefano는 회사에서 사람들이 서버에서 자신의 컴퓨터로 통합 문서를 복사하고 통합 문서를 변경 한 다음 인쇄하는 문제를 겪고 있습니다. 그는 원본 통합 문서 만 인쇄 할 수 있도록 강제하고 싶어서 통합 문서가 서버에 있지 않으면 인쇄를 금지하는 방법이 있는지 궁금합니다.

Word에서이 작업을 수행하는 기본 방법은 없습니다. 원하는 경우 다음 두 가지 작업을 수행하는 매크로를 만들 수 있습니다.

  1. 현재 문서의 경로를 확인합니다. 경로가 서버 경로를 제외한 모든 경우 인쇄 금지

다음은 이러한 매크로의 예입니다. 이 특정 버전을 ThisWorkbook 모듈에 배치해야합니다. 사용자가 인쇄를 선택할 때마다 자동으로 실행됩니다.

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim sFile As String

sFile = "\\Server.name\folder\path\My file name.xlsm"



If ThisWorkbook.FullName <>  sFile Then         MsgBox "Printing only possible with server copy"

Cancel = True     End If End Sub

sFile 변수는 통합 문서의 전체 경로 (회사 서버에서 통합 문서가 있어야하는 위치)를 포함하도록 설정되어 있습니다. 현재 통합 문서의 이름이이 이름과 일치하지 않으면 인쇄가 비활성화됩니다.

이러한 유형의 매크로에는 잠재적 인 문제가 있으며 파일 경로와 관련이 있습니다. 서버의 경로는 사용자별로 다를 수 있습니다. 예제 매크로는 UNC (Universal Naming Convention)를 포함하는 경로를 확인하지만 모든 경로가이 방식으로 작동하는 것은 아닙니다. 예를 들어 사용자는 드라이브 문자에 매핑 된 서버의 폴더를 가질 수 있습니다. 한 시스템에서 경로는 g : / myserver / myfolder /이고 다른 시스템에서는 z : / myserver / myfolder / 일 수 있습니다.

매크로는이를 안정적으로 보상 할 수 없습니다.

확실히 낮은 기술 접근 ​​방식으로이 문제를 해결할 수 있습니다. 먼저 메모장으로 만든 작은 텍스트 파일을 서버의 통합 문서와 동일한 폴더에 넣습니다. 텍스트 파일에 포함 된 내용은 실제로 중요하지 않습니다. 그런 다음이 매크로를 ThisWorkbook 모듈에 추가합니다.

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim sPath As String     Dim sFile As String

sPath = ThisWorkbook.Path     sFile = sPath & "\" & "TestFile.txt"



If Dir(sFile) = "" Then         MsgBox "Printing only possible with server copy"

Cancel = True     End If End Sub

매크로가하는 일은 현재 열려있는 통합 문서의 경로를 확인하는 것입니다. 그런 다음 통합 문서와 동일한 폴더에 배치 한 작은 텍스트 파일의 이름에 추가됩니다. (이 경우에는이 파일에 TestFile.txt라는 이름을 지정했습니다.) 그런 다음 Dir 명령을 사용하여 파일이 있는지 확인합니다. 존재하지 않는 경우 인쇄가 취소됩니다.

보다 포괄적 인 솔루션은 Microsoft에서 IRM (정보 권한 관리)이라고 부르는 것을 사용하는 것입니다. 기업 환경에서 사용하기에 적합한이 솔루션을 사용하면 사람들이 문서로 할 수있는 것과 할 수없는 것을 제어 할 수 있습니다. IRM에 대해 배우기 시작하기에 좋은 곳은 다음과 같습니다.

https://support.office.com/en-us/article/information-rights-management-in-office-c7a70797-6b1e-493f-acf7-92a39b85e30c

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13526)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.