【问题标题】:How can I automatically select a data source via VBA in excel如何在 Excel 中通过 VBA 自动选择数据源
【发布时间】:2019-09-04 20:19:31
【问题描述】:

我有一个包含 4 张纸的 excel 文件。每个工作表都包含一个连接到 Oracle 数据库的数据透视表。我需要所有数据透视表在凌晨 4 点自动更新。为此,我有一个宏。问题是宏要求我手动选择数据源。有没有办法让宏自动选择数据源?

当我执行宏时,它会显示这个窗口 4 次:

然后:

我需要宏选择被标记的那个 (PRODUCCION DWH)。

这是宏:

Sub Actualiza_Reporte()

    Dim pt As PivotTable    
    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        For Each pt In ws.PivotTables      
            pt.RefreshTable

        Next pt
    Next ws

    ThisWorkbook.Save   ' Guardamos el archivo
    ThisWorkbook.Close  ' Para cerrar el archivo
    Application.Quit    ' Para cerrar Excel
End Sub

我需要自动更新 4 张工作表,而不要求我选择数据源。

感谢和问候。

【问题讨论】:

  • 很可能您没有将 db 的 u/p 直接存储在连接对象中。重置与数据库的连接并选择将 u/p 直接存储在连接设置中的选项,该提示可能会消失
  • 这项工作,谢谢斯科特。

标签: excel vba datasource


【解决方案1】:

除了使用宏,您还可以使用 Excel 2016 及更高版本默认包含的电源查询:

依次选择 Data、New Query、Databases、Oracle 并创建到 Oracle 的连接。

那么你只需要像这样设置刷新间隔:

再次单击数据,然后单击连接,然后单击设置,然后在 X 分钟后更新。

如果你想控制oracle power query更新的准确时间,只需配置这个宏:

Sub RefreshQuery()
Dim con As WorkbookConnection
Dim Cname As String

For Each con In ActiveWorkbook.Connections
    If Left(con.name, 8) = "Query - " Then
    Cname = con.name
        With ActiveWorkbook.Connections(Cname).OLEDBConnection
            .BackgroundQuery = False  'or true, up to you
            .Refresh
        End With
    End If
Next
End Sub

在此处找到代码:https://stackoverflow.com/a/38653892/11971785

【讨论】:

  • 我有 Microsoft Excel 2013。有没有办法只使用宏?我不是excel专家,如果宏自动选择数据源就好了。
  • @RicardoCarrera,首先尝试简单地连接到 oracle。以下链接可能会有所帮助:community.oracle.com/thread/679324 一旦您建立了连接,我们就可以处理它。
  • 我不需要在宏中连接Oracle。如果我在弹出的窗口中按接受和确定(来自问题的图像),它将刷新数据。但是我需要的是宏选择数据源PRODUCCION DWH而不问。
  • @RicardoCarrera,是的,因为 Excel“不知道”源在哪里。要让它知道在哪里可以找到连接,一种方法是首先通过 VBA 或通过 Power Query 创建直接连接,如我的回答中所述。如果您不想通过 VBA 连接,您可以将电源查询下载为 Excel 2013 的 Add-Inn,但据我所知,您需要在某处指定连接,否则 Excel 将始终要求它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-22
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多