Excel VBA打开两个相同的工作簿,但是一个实例是只读的

我为可写入的工作簿创build了一个只读的快捷方式。 这样做,当我手动单击快捷方式和实际文档时,我可以同时打开单独的只读和可写实例的同一个工作簿。 不过,我似乎无法在VBA代码中复制这个。 尝试使用VBA代码从只读实例中打开相同的工作簿将closures只读实例,并使我只剩下可写的实例,EG

Workbook.Open filename:=ActiveWorkbook.FullName, editable:=True 

从只读实例运行此操作会终止该实例并将其replace为可写实例。 我希望能够有,但不知道如何做到这一点? 原因是我希望能够将只读实例中发生的更改发布为可写的,只需要用户只需要对可写实例进行写访问几秒钟,VBA代码就有足够的时间打开它,发布更改并快速保存并退出并重新激活只读实例。 这使得团队中的多个人几乎可以同时对同一个工作簿进行更改,而不必受“共享工作簿”的限制,同时也能够查看文档。

但是如果有人在两者之间做出改变呢? 那么,如果在用户打开文档(如果editable = false的时候调用了上面的代码),那么用户被告知重新加载只读实例。

帮助非常感谢

这种方法将在当前实例中打开工作库,因此如您所说将replace当前打开的工作库。 你需要创build一个新的Excel应用程序引用,并打开它使用,例如:

 Dim xlApp As New Excel.Application Dim xlWrkBk As Excel.WorkBook xlApp.WorkBooks.Open FILENAME, , READ ONLY (True/False) Set xlWrkBk = xlApp.ActiveWorkbook xlApp.Visible = True 

希望这应该带你正确的方向:)

打开工作簿可编辑,然后SaveCopyAs具有临时文件名的临时文件夹(必须是不同的文件名),然后打开副本只读