VBA 共享工作簿和非共享工作簿

Luc*_*llo 1 excel networking vba

我试图找到共享工作簿的代码并与 Visual Basic 取消共享它,但我没有找到它,有人知道它是否可能吗?

另一件事是保存时共享工作簿,将工作簿更新给所有用户...问题是,如果我使用 Visual Basic 代码保存它,工作簿将更新给其他用户吗?

我正在编写一个按钮,单击它时(共享工作簿>填充单元格>保存并取消共享)。

And*_*y G 5

我当然同意 pnuts 和他提供的链接:共享工作簿太糟糕了。

不过,为了回答这个问题,如果您在 Excel 中录制宏,则在共享工作簿时您将看到如下代码。

Sub Macro1()
    Workbooks.Add
    With ActiveWorkbook
        .KeepChangeHistory = True
        .ChangeHistoryDuration = 30
    End With
    ActiveWorkbook.SaveAs Filename:= _
        "F:\Documents and Settings\student\My Documents\Book1.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, AccessMode:=xlShared
    ActiveWorkbook.ExclusiveAccess
End Sub
Run Code Online (Sandbox Code Playgroud)

(如果您还不知道如何在 Excel 中记录宏,那么我建议您花时间了解一下 - 它非常有用,特别是当您刚刚开始使用 VBA 时。)

如果将此代码复制到 VB 编辑器中并单击某些单词(SaveAs特别是)并按 F1,您将进入帮助系统。

从这个录制的宏中,我推测从工作簿中删除 Shared 只是SaveAsAccessModeother not xlShared(或省略)一起使用的情况。毕竟,这是我们手动共享或取消共享工作簿时出现的对话框/选项。

但是,需要强调的是,我并不提倡使用共享工作簿。