【问题标题】:VBA Shared workbook and Unshared workbookVBA 共享工作簿和非共享工作簿
【发布时间】:2013-07-04 07:03:16
【问题描述】:

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

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

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

【问题讨论】:

    标签: excel vba networking


    【解决方案1】:

    我当然同意 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 只是将 SaveAsAccessMode 一起使用而不是 xlShared(或省略)的情况。毕竟,这是我们手动共享或取消共享工作簿时出现的对话框/选项。

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

    【讨论】:

    • 非常感谢,这个共享的工作簿只是为了保存这里的人问的产品,我会每天备份它以避免损坏文件问题
    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多