2017-10-17 14 views
0

내 Excel 파일에이 특성이 표시되어 있습니다.Excel VBA 매크로가 읽기 전용 속성 특성이 선택된 경우 파일에 쓰기 권한을 부여합니다.

***enter image description here***

따라서는 읽기 전용으로 열립니다. 이 파일은 때때로 편집 및 저장이 필요합니다.

쓰기 액세스로 전환 된 (매크로가 파일이 읽기 전용으로 열려있을 때) 실행할 수있는 매크로가있는 것이 좋을 것입니다.

그런 다음 변경 사항을 적용하고 매크로 (2)를 실행하여 다시 읽기 전용으로 만듭니다.

이 방법을 사용하면 속성 속성을 선택하지 않아도 편집 할 필요가없는 경우가 있으므로 편집하기 전에 속성을 선택하지 않아도됩니다.

+0

잘 모르겠습니다 만 VBA만으로는 그럴 수 없습니다. 쉘에서 * 커맨드 라인에 접근 할 필요가 있습니다. – AntiDrondert

답변

1

당신은 이런 루틴 사용할 수 있습니다

MakeReadOnly "C:\blah.xlsx" 

및 읽기 전용 취소 :

MakeReadOnly "C:\blah.xlsx", False 

을가 읽기 전용으로 만들기 위해

Sub MakeReadOnly(sFile As String, Optional bReadOnly As Boolean = True) 
    SetAttr sFile, IIf(bReadOnly, vbReadOnly, vbNormal) 
End Sub 

같이이라고를 이상적으로, 당신은 다른 속성들에 영향을 미치지 않도록 비트들을 교환 할 것이지만 이것은 여기에서해야합니다.

+0

감사합니다. Rory. 귀하의 코드 ActiveWorkbook.ChangeFileAccess 모드와 결합 : = xlReadWrite 및 ActiveWorkbook.ChangeFileAccess 모드 : = xlReadWrite 내가 원하는 것을 얻을 수 있습니다. –