2011-05-04 75 views
1

我有一个Word文档与Dropbox中的其他人共享。如果Word文档位于共享驱动器上,则会通知用户它已经打开。由于本地副本在Dropbox文件夹中打开,因此多个用户可以打开并保存该文件,而忽略其他用户状态。有没有办法为文件添加另一个锁,以便当一个人打开文件时,如果他们试图打开文件,会有人提醒他们?我正在考虑编写一个创建令牌文件的VB宏。这很简单,离线工作时会出现一些特殊情况,但我们需要避免或至少提醒一些冲突。共享Word文档的Dropbox文件锁定

+0

对不起,man不是为半云/半本地场景设计的。如果它是本地网络共享,则情况会有所不同。我明白为什么你有一个共享的dp文件夹,并希望以这种方式使用它,它不会以你想要的方式发生。但要求超级用户提供dp和办公室协作的替代方案。 – 2011-05-04 17:15:21

回答

2

我们的团队使用Notifybox几个月来退房并签入Dropbox中的共享Excel和Word文件。 Notifybox的一些问题是,它有时会丢失文件打开和关闭,似乎阻止Windows XP上的重新启动,有时会错误地得出结论,即使Dropbox在同步文件时没有问题,该PC上仍然没有活动的Internet连接,在Mac上运行。

我想出了一些简单的Visual Basic for Applications(VBA)宏来处理文件检出和检入。我们一直在运行Office 2010的PC和运行Office 2011的Mac上使用它们。它们的设计目的是在PC上使用Office 2003,在Mac上使用Office 2004,但尚未在这些环境中进行测试。

宏的工作方式是,当一个文件签出给用户时,该用户的名字作为“经理”名称存储在文件的内置属性中,修改后的文件立即通过Dropbox进行保存和同步。

如果另一个用户试图打开已经签出给其他人的文件,他们会收到一条消息,表明该文件当前正在编辑,并显示另一个用户的名字。

当第一个用户完成编辑文件并关闭它时,文件内置属性中的管理器名称将被设置为空,并通过Dropbox立即保存并同步文件,从而检入文件以便其他人可以检查它出。

我们将宏添加到每个共享文件。您可以阅读文档并在http://www.ocn.me/comacs.htm下载宏。

在当前版本中,如果用户检出文件,然后使用“文件另存为”将该文件另存为其他名称,则将以新名称检出的文件检出给该用户,但原始文件不是入住。要求用户重新打开原始文件,然后关闭它。这将签入原始文件。同样,如果在关闭文件时用户决定放弃更改,则该文件仍将签出给用户。如果有人离开文件签出然后休假,任何人都可以打开文件并删除文件的内置属性中的管理员名称。这将强制登记文件。

这些宏正在为我们的团队工作。我认为他们可以相当容易地修改为与Google Drive,SugarSync或Box.com等其他同步产品一起使用。

+0

我希望我早点见过你的回复。当一个人打开文件时,我最终在VB中实现了一些东西来锁定文件,以至于如果他们在线,至少其他人会看到锁。 我把它放在一个要点:https://gist.github.com/roelle/5644244 事实证明,使用起来太麻烦,所以我们切换到谷歌文档的任何可能被多人编辑的任何东西。 – user738396 2013-05-24 15:19:38

2

为此目的使用dropbox总是会有滞后问题 - 它只是不能足够快地同步,以便任何“实时”文件锁定解决方案都能正常工作。

我想VB宏可以写入一些中央数据库或Web服务,然后在每次尝试打开文件时都会检查它 - 但正如您所说,您需要编写断开连接的操作代码,然后才能在连接恢复后处理合并的一些方法。

我不确定您是否有权访问SharePoint,但这确实是SharePoint旨在做的最好的核心,让人们通过网络安全地协作处理Microsoft Office文件。您可以在Intranet安装中使用SharePoint 2010的免费版本。