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

时间:2013-07-03 20:26:38

标签: excel vba networking

我试图找到共享工作簿的代码并使用visual basic取消共享,但我没有找到它,任何人都知道它是否可能?

另一件事是保存时共享工作簿,将工作簿更新到所有用户...... 问题是如果我用可视化基本代码保存它,工作簿会更新给其他用户吗?

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

1 个答案:

答案 0 :(得分:3)

我当然同意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

(如果您还不知道如何在Excel中录制宏,那么我建议您花时间查找 - 这非常有用,特别是当您刚开始使用VBA时。)

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

从这个记录的宏我猜测,从工作簿中删除Shared只是使用SaveAs除了AccessMode之外的xlShared(或省略)。毕竟,这是我们手动共享或取消共享工作簿时出现的对话框/选项。

但是,要强调的是,我并不主张使用共享工作簿。