Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba EXCEL-更新未共享的主工作簿_Vba_Excel - Fatal编程技术网

Vba EXCEL-更新未共享的主工作簿

Vba EXCEL-更新未共享的主工作簿,vba,excel,Vba,Excel,假设我们有一个主Excel文件,它不是共享工作簿。我打算使用此工作簿让用户更新某个数据库。这意味着可能会有多个用户同时进入并更新,但是请记住,此工作簿不是共享的。如果第一个人在文件中,其余用户将是只读的。这背后的原因是,为了使工作簿本身更具动态性,我在该工作簿中有一些表,这反过来会阻止工作簿被共享 所以在这一点上,我们将有两组用户:一组是主导用户,另一组是只读用户 我的问题是:我们是否可以创建这样的宏,它将只读用户的版本保存为临时excel文件。这样,当一个主要用户关闭一个文件时,它会自动将这些

假设我们有一个主Excel文件,它不是共享工作簿。我打算使用此工作簿让用户更新某个数据库。这意味着可能会有多个用户同时进入并更新,但是请记住,此工作簿不是共享的。如果第一个人在文件中,其余用户将是只读的。这背后的原因是,为了使工作簿本身更具动态性,我在该工作簿中有一些表,这反过来会阻止工作簿被共享

所以在这一点上,我们将有两组用户:一组是主导用户,另一组是只读用户

我的问题是:我们是否可以创建这样的宏,它将只读用户的版本保存为临时excel文件。这样,当一个主要用户关闭一个文件时,它会自动将这些临时文件上传到主excel工作簿中(我认为工作簿\u BeforeClose可以完成这项工作,但不知道是否可能)。所有这些数据、工作簿将存储在上述用户之间的共享网络上

谢谢你的帮助


Tony

那么第二个(只读)用户的更改会覆盖第一个用户的更改吗?@TimWilliams它会在第一个用户输入后更新。假设用户1更新到第一行,用户2提供的信息将在用户1保存后的第二行,工作簿实际关闭之前。因此,用户只添加信息,从不编辑现有数据?@TimWilliams是的,如果有更改,它将是一个新行。这有助于防止重复。我认为您需要将此主文件转换为仅存储数据。创建另一个文件以访问此主数据文件,请重试打开几次,直到需要数据更新/同步时不再只读。复杂但可行。或者,将主文件转换为模板,当用户基于它创建新文件时,您只需同步差异-快速打开模板并关闭保存更改。由于所有更改都被视为新的数据行,因此应该非常快。