none
VBAを使い、「ブックの共有(レガシ)」を解除したい RRS feed

  • 質問

  • 既に大きく非推奨となっている表記「ブックの共有(レガシ)」の設定されたファイルがあります。
    VBAを使い、この設定をオフにしたいもののコードがわかりません。

    通常なら、VBAを使わず手作業で一度解除してしまえば済むわけですが
    外部から渡されるファイルなので毎回解除する必要がり、
    VBAで行いたいと思っています。よろしくお願いします。

    環境はMicrosoft Office365 ProPlus です。

    2018年11月6日 2:44

回答

  • その後確認したところ(私だけかもしれませんが)

      ’Application.DisplayAlerts = False
      oWB.SaveAs Filename:=KeepFileName, _
         FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False, AccessMode:=xlExclusive
      ’Application.DisplayAlerts = True

    は、上書き保存には無力なようです。

    コメントいただいた

    oWB.ExclusiveAccess

    は期待通りでした。

    なお、当たり前かもしれませんが

    共有(レガシ)状態にないブックに対して

    oWB.ExclusiveAccess を実行するとエラーになるので、

      If oWB.MultiUserEditing = True Then
        'Application.DisplayAlerts = False
        oWB.ExclusiveAccess
        'Application.DisplayAlerts = True
      End If

    このコードにしました。重ねてありがとうございました。

    • 回答としてマーク n.hojo 2018年11月6日 4:39
    2018年11月6日 4:38

すべての返信

  • 私の環境(Excel 2016)では「ブックの共有(レガシ)」というコマンドが存在しなかったので、試せていないのですが、下記のページは参考になりますでしょうか?

    https://excwlvba.blogspot.com/2016/06/vba_24.html

    2018年11月6日 3:00
  • コメント、ありがとうございます。

    どうやら、自己解決できそうです。

      ’Application.DisplayAlerts = False
      oWB.SaveAs Filename:=KeepFileName, _
         FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False, AccessMode:=xlExclusive
      ’Application.DisplayAlerts = True

    といったコードで保存のし直しをすれば解除できるようです。 m(_ _)m

    2018年11月6日 3:09
  • その後確認したところ(私だけかもしれませんが)

      ’Application.DisplayAlerts = False
      oWB.SaveAs Filename:=KeepFileName, _
         FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False, AccessMode:=xlExclusive
      ’Application.DisplayAlerts = True

    は、上書き保存には無力なようです。

    コメントいただいた

    oWB.ExclusiveAccess

    は期待通りでした。

    なお、当たり前かもしれませんが

    共有(レガシ)状態にないブックに対して

    oWB.ExclusiveAccess を実行するとエラーになるので、

      If oWB.MultiUserEditing = True Then
        'Application.DisplayAlerts = False
        oWB.ExclusiveAccess
        'Application.DisplayAlerts = True
      End If

    このコードにしました。重ねてありがとうございました。

    • 回答としてマーク n.hojo 2018年11月6日 4:39
    2018年11月6日 4:38