2017-10-17 10 views
0

My Excelファイルにはこの属性が指定されています。Excel VBAマクロを使用して、読み取り専用プロパティの属性が指定されている場合にファイルへの書き込みアクセスを許可します。

***enter image description here***

そのためには、読み取り専用にオープンします。このファイルは編集や保存が必要な場合があります。

インラインで書き込みアクセスに切り替えた(ファイルが読み取り専用で開いている)マクロを実行するといいでしょう。

私は変更を加え、マクロ(2)を実行すると、再び読み取り専用になります。

この方法では、編集する前にプロパティの属性をオフにする必要はありません。編集する必要があるかどうかわからないこともあるためです。

+0

わかりませんが、VBAでしかできません。 'Shell'で*コマンドライン*にアクセスする必要があります。 – 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 Mode:= xlReadWriteとActiveWorkbook.ChangeFileAccess Mode:= xlReadWriteと組み合わせて、私が望むものを達成することができます。 –

関連する問題