2015-08-20 74 views
-2

我制作了一个业余winform,它将数据从文本框保存到指定工作表的第一个空白行中的共享excel工作簿中。这个winform存在于3台个人电脑上,工作簿可以在保管箱中找到。在我的情况下,我不能制作共享文件夹而不是Dropbox,因为网络是一个巨大的+密码保护,我不会了解它,所以唯一的“共享文件夹”的替代品就像Dropbox的东西。将数据保存在excel共享工作簿中

有时用户需要打开工作簿并编写&手动保存一些数据。这种情况给出了额外的“冲突复制”文件(因为保管箱与2个同时更改的文件合​​并信息不兼容)。

如果我能以某种方式让excel文件一次只有一个用户可用 - 这将使winform在buttonclick上崩溃,如果工作簿在任何其他PC上打开。

优秀的目标是通过winform和手动输入来改变工作簿,而不会通过dropbox上的excel和冲突副本文件获得任何冲突的更改选择。

任何想法? Thx提前!

+0

http://webapps.stackexchange.com/questions/51022/is-it-possible-to-know-if-a-file-is-currently-opened-by-someone-else-in-dropbox – Snorex

+0

你可以使用类似于(Environ $(“用户名”))的方式,在基于用户名的隐藏工作表上记录VBA以记录打开和关闭工作簿。但是如果事情不同步,这可能是一场噩梦,例如,如果Excel崩溃,这很常见。 – Snorex

回答

-1

诚实地说,我认为您最好让用户使用共享的Google文档电子表格,以便他们可以同时更改。您可以使用许多不同的工作表来防止混淆或数据损坏。

或者,如果您确实需要使用winform,请将数据保存到(并从中加载)一个sql express数据库,该数据库是针对小型多用户应用程序制作的。 Winforms可以很容易地链接到MS sql express。

相关问题