書き込み可能なブックへの読み取り専用ショートカットを作成しました。これを行うと、手動でショートカットと実際のドキュメントを個別にクリックすると、同じブックの別々の読み取り専用インスタンスと書き込み可能インスタンスを同時に開くことができます。しかし、私はVBAコードでこれを複製することはできません。 VBAコードを使用して、読み取り専用インスタンスから同じブックを開くしようとするとすると、読み取り専用のインスタンスを閉じてのみ書き込み可能なものと私を残し、EG読み取り専用インスタンスからこれを実行するExcel VBA同じブックを2回開きますが、1つのインスタンスが読み取り専用です
Workbook.Open filename:=ActiveWorkbook.FullName, editable:=True
インスタンスを終了し、それを書き込み可能なものに置き換えます。私は両方を持つことができるようにしたいと思いますが、これをどうやって行うのか分かりません。理由は、書き込み可能インスタンスへの書き込みアクセスを数秒間しか必要とせず、VBAコードがそれを開いて変更を公開するのに十分な時間で、書き込み可能なインスタンスに加えられた変更を書き込み可能なインスタンスに公開できるようにするためです保存して終了し、読み取り専用のインスタンスを再度有効にします。これにより、チーム内の複数の人が、同じワークブックに「ワークブックを共有する」の制限を受けることなく、ドキュメントを同時に見ることができるようになります。
しかし、誰かの間で変更を加えたらどうなりますか?ユーザーがドキュメントを開いてから他の人が変更を加えた場合、編集可能= falseの上記コードを呼び出すだけで、ユーザーは読み取り専用のインスタンスを再読み込みするように指示されます。
ヘルプを大幅にこのメソッドは、現在のインスタンスでworkborkが開きますので、あなたが言うように、現在開いているworkborkに置き換えられます
私はまだアドインの問題を抱えているようです。 Tools-> Add-Insは、書き込み可能なインスタンスにインストールされているものを表示しますが、コードはロードされません。書き込み可能なインスタンスからアドインコードを呼び出すことはできません。私は再び困惑しています: - \ – Wes
これは、Excelで使用している追加のアドインですか、または開いているドキュメントのVBAコードを参照していますか? –
私は手元の特定の問題を解決しませんでしたが、私はもっと良い解決策を持っていると思います。私はそれを完全にはテストしていませんが、ActiveWorkbook.ChangeFileAccessメソッドを使用して、基本的に書き込み可能なアクセス権を変更し、変更を保存してから、読み取り専用に戻します。もちろん、ドキュメントが最初にチェックされて、ドキュメントが読み取り専用で開かれた後に変更が加えられたかどうかが確認されます。変更されている場合は、ドキュメントを更新してから更新します。 – Wes