在Excel 2010 VBA中刷新数据连接

时间:2013-12-04 14:47:30

标签: excel vba excel-vba

所以我的所有VBA代码都已关闭,它似乎是正确的,但它并没有让工作簿更新。我能想到的唯一一件事就是当我打开床单时我必须启用编辑,那么我需要在代码中添加一些内容吗?

编辑:我通过VBScript

运行它
Public wb As Workbook

Sub executeUpdate()
    `some code
     openBook path & testArray(i) & ext, True
     saveBookAs path & testArray(i)
End Sub

Sub openBook(ByVal fileName As String, ByVal refresh As Boolean)

    Set wb = Workbooks.Open(fileName, 0, False)

    If refresh = True Then
        wb.RefreshAll
    End If
End Sub

Sub saveBookAs(ByVal fName As String)
    wb.SaveAs fileName:=fName & "_posReport.xlsx"
End Sub

1 个答案:

答案 0 :(得分:0)

我在here上找到了这段代码:

If Application.ProtectedViewWindows.Count > 0 Then
    Application.ActiveProtectedViewWindow.Edit
End If

没有测试过,但它可能适合你。

- 引用:

  

代码将绕过用户选择功能区下方消息栏上的“启用编辑”按钮的需要。如果工作簿不在“ProtectedView”中,则另外注意代码将会出错。因此,为避免这种情况,以下代码仅在工作簿启用了“ProtectedView”时才启用编辑。