[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでオブジェクトの編集を許可できない』(おぶじぇくと)
現状以下のマクロを組んでいます。
Private Sub Workbook_Open() For Each W_Sheet In Worksheets With W_Sheet .Unprotect Password:="●●●" .EnableOutlining = True .Protect Contents:=True, DrawingObjects:=False, UserInterfaceOnly:=True .Protect AllowFormattingCells:=True .Protect Password:="●●●" End With Next End Sub
このマクロの目的は、以下の二つです。
・シートをパスワード付きで保護していてもグループ化の開閉ができるようにする。
・ロックされていないセルは入力可能
ここに、シートが保護されていてもコメントの挿入ができるようにしたいので、6行目に「DrawingObjects:=False」を追加しましたが、うまく動いてくれません。
アドバイスいただけると幸いです。
よろしくお願いいたします。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
なぜ Protectを3行に分けて書いているのですか?
1行にまとめて書いてみてください
.Protect Password:="●●●",Contents:=True, DrawingObjects:=False, UserInterfaceOnly:=True,AllowFormattingCells:=True
(渡辺ひかる) 2019/11/01(金) 15:27
一応解説。 ヘルプでDrawingObjectsの説明は >描画オブジェクトを保護するには、True を指定します。既定値は True です。 となっている。 つまり省略された場合Trueになるという事。
(ねむねむ) 2019/11/01(金) 15:30
Protectを分けて書いているので >.Protect Contents:=True, DrawingObjects:=False, UserInterfaceOnly:=True で保護をかけた後に >.Protect AllowFormattingCells:=True で保護をかけ、さらに >.Protect AllowFormattingCells:=True で保護をかけていることになり最後のProtectで省略した引数のものは規定値で保護されることになる。 (ねむねむ) 2019/11/01(金) 15:33
早速ご返信いただきありがとうございます。
拾ってきたものを組み合わせたりしていたもので、
深く考えておりませんでした。。
お陰様で、一つにまとめましたところ、無事コメントの挿入が可能になりました。
本当に助かりました。ありがとうございました。
ねむねむさん
解説いただきありがとうございます。
そういう理由でうまく動いていないように見えたんですね・・・。
一度に書いてしまわないと、同時に行われないということ、肝に銘じます。
分かりやすい解説、ありがとうございました。
(おぶじぇくと) 2019/11/01(金) 15:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.