none
EXCEL 2013 シートの保護 RRS feed

  • 質問

  • ワークシートをExcel 2013で作成し、サーバー(WinServer2012)の共有フォルダに保存してあります。

    VBのアプリケーションで入力されたデータをEXCELに書き込み、EXCELからは内容の確認のみ行っております。
    シートを保護しているのですが、クライアントからEXCELにて内容を変更できてしまいます。

    この現象は、不定期に発生し、シート保護が有効になっている状態の時は、すべてのクライアントで有効ですし、
    シート保護が無効になっているときは、すべてのクライアントで編集が可能になってしまいます。


    編集が可能な状態のファイルをコピーし、自社サーバー(WinServer2012)に保存し、同じように開いてみますが、保護の解除を求められます。

    サーバーの設定は同じですし、保護が有効になったり無効になったり。

    なぜ、このような状態が発生するのかが不明です。


    以下は、EXCELファイル操作の記述です。

    Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet

            xlApp = CreateObject("Excel.Application")
            xlBook = xlApp.Workbooks.Open(xlsfile, ReadOnly:=False)
            xlSheet = xlBook.Worksheets("○○○")

            xlApp.Visible = False
            xlSheet.Activate()

    ’ 書き込み時 保護解除

            xlSheet.Unprotect(Password:="*****")

    ’ 書き込み処理

    ’ 書き込み終了 保護

                xlSheet.Protect(Password:="*****", AllowFiltering:=True)

                '保存時の問合せを非表示に設定
                xlApp.DisplayAlerts = False
                 'Worksheet を名前をつけて保存します
                xlSheet.SaveAs(xlsfile)


    2017年6月28日 9:06