ここから本文です

◆Excel VBA シートパスワード保護/解除について 下記に様に、印刷 VBAを作成し...

さん

2019/8/714:48:16

◆Excel VBA シートパスワード保護/解除について

下記に様に、印刷 VBAを作成しました。

処理ボタンは
シート名:入力画面

印刷するシートは
シート名:表-1
です。

印刷シートには、シートパスワードがしてあります。
パスワード:123 です。
その為、行全体を非表示や罫線修正が出来ないです。


一旦、シートパスワードの解除をして、非表示/罫線修正/行の非表示を戻す
印刷後、シートパスワード保護設定を行い終了としたいのですが。

どの様に、設定したら良いか、ご指導の程、宜しくお願い致します。

Sub 印刷()

Dim Result As Long
Result = MsgBox("印刷しますか?", vbYesNo + vbExclamation, "印刷確認")

If Result = vbYes Then

''[はい]がクリックされたときの処理

'行全体を非表示
If Sheets("表-1").Range("D73").Text = "" Then Sheets("表-1").Range("D73").MergeArea.EntireRow.Hidden = True
If Sheets("表-1").Range("D75").Text = "" Then Sheets("表-1").Range("D75").MergeArea.EntireRow.Hidden = True
If Sheets("表-1").Range("D77").Text = "" Then Sheets("表-1").Range("D77").MergeArea.EntireRow.Hidden = True

'罫線修正----------------------------------
Dim i As Long, j As Long
With Worksheets("表-1")
.Range("D17:X78").Borders.LineStyle = False
For i = 73 To 77 Step 2
If .Range("D" & i) = "" Then
Exit For
End If
Next i
i = i - 1
With .Range("D17:E" & i)
.Borders.LineStyle = xlDot
End With
With .Range("D17:X" & i)
.BorderAround LineStyle:=xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
End With
For j = 18 To i - 2 Step 2
With .Range("F" & j & ":X" & j)
.Borders(xlEdgeBottom).LineStyle = xlDot
End With
Next j
End With
'罫線修正ここまで--------------------------

Sheets("表-1").PrintOut

''行の非表示を戻す
Sheets("表-1").Range("D73:D78").EntireRow.Hidden = False


Else
''[いいえ]がクリックされたときの処理

'MsgBox "処理を中止します", vbCritical
Result = MsgBox("処理を中止しました。", vbOKOnly + vbCritical, "印刷確認")
End If

End Sub

閲覧数:
8
回答数:
1

違反報告

ベストアンサーに選ばれた回答

tok********さん

2019/8/715:01:37

ざっくり書くと、

Sheets("表-1").Unprotect , Password:="123"
’ここに変更したい処理
Sheets("表-1").Protect , Password:="123"

  • 質問者

    さん

    2019/8/718:28:06

    ありがとうございました。
    Sheets("表-1").Unprotect Password:="123"
    で 、ok でした。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2019/8/7 18:28:19

助かりました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる