gpt4 book ai didi

excel - 我可以通过 Excel VBA 访问和查询基于 Web 的 Crystal Report Viewer 吗?

转载 作者:行者123 更新时间:2023-12-04 21:05:27 29 4
gpt4 key购买 nike

我通过对 Crystal Report Viewer 的基于 Web 的访问来下载报告。 (诚​​然,我的第一个问题是我对 Crystal 一点也不精通。)我通常在使用 Excel VBA 自动化 IE 导航和 HTML 表单操作方面取得了成功,但我遇到了这个 Crystal Report Viewer 的难题。

例如,我可以通过 Crystal Report Viewer 下载报告,方法是指定我想要报告的 50 个州中的哪一个。我正在尝试使其自动化,以便它一次导出所有 50 份报告(或者,更确切地说,在我去吃午饭时连续导出)。

我已经提取了相关网站的 outerHTML。它在开头包含一个 OBJECT 标记,其中包含 23 个 PARAM NAME 标记,后跟以下 VBScript:

Sub window_onLoad()
Page_Initialize()
End Sub
Sub Page_Initialize
On Error Resume Next
Dim webBroker
Set webBroker = CreateObject("WebReportBroker.WebReportBroker")
If err.number <> 0 then
window.alert "The Crystal ActiveX Viewer is unable to create resource objects."
CRViewer.ReportName = "[a URL...redacted]"
Else
Dim webSource0
Set webSource0 = CreateObject("WebReportSource.WebReportSource")
webSource0.ReportSource = webBroker
webSource0.URL = "[a URL...redacted]"
webSource0.PromptOnRefresh = True
webSource0.AddParameter "password", "[somepassword]"
webSource0.AddParameter "user", "[someuser]"
CRViewer.ReportSource = webSource0
End if
CRViewer.ViewReport
End Sub

该脚本之后是另外三个 OBJECT 标记,每个标记都引用代码库。我导航到这些引用以查找 DLL,我假设这些引用指示我需要在我的 VBA 中调用的引用。凭直觉,我将 VBScript 移到 Excel VBA 中(这很愚蠢吗?),并将其放在我通常的登录和导航代码之后。我在行上收到“编译错误: undefined variable ”
window.alert "The Crystal ActiveX Viewer..." 'highlighting the word "window"

CRViewer.ReportName = "[a URL...redacted]" 'highlighting "CRViewer"

CRViewer.ReportSource = webSource0 'highlighting "CRViewer"

CRViewer.ViewReport 'highlighting "CRViewer"

这是我遇到问题的地方。首先,我可能走错了路,或者根本不可能;但我不知道。其次,如果我走在正确的轨道上,Excel VBA 的可用引用中列出了很多 Crystal 引用。我不知道要使用哪些。顺便说一句:代码库引用
  • crviewer.dll
  • sviewhlp.dll
  • swebrs.dll
  • xqviewer.dll
  • cseexpt.ocx
  • crviewer.dep
  • crviewer.oca 和
  • 报告参数对话框.dll

  • 任何帮助,将不胜感激。我意识到我可能没有在这里提供所有必要的信息。如果需要更多,请告诉我。谢谢阅读。

    最佳答案

    Web 查看器是更广泛的 Business Objects 设置的一部分,还是简单地启动带有报告的查看器的更基本的东西?

    如果是前者,您已经有了通过基于 Web 的 CMC 自动分发的更简单的选项,其中可以使用各种分发选项安排报告刷新,包括到 UNC 路径。

    如果是后者,或者由于某种原因标准 CMC/BO 选项不合适,您可以考虑使用为此目的制作的代码库。 Python 的 splinter 库就是其中之一,也是我首选的 Web 自动化包:http://splinter.cobrateam.info/

    如果 VBA 是您的编码舒适区,那么有几种方法可以将 python 集成到 VBA 中,所有这些都只是谷歌而已......我不会在这里详细介绍它们,因为这是一个副业,我的回答更像是一个替代方案而不是一个直接的答案。

    关于excel - 我可以通过 Excel VBA 访问和查询基于 Web 的 Crystal Report Viewer 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22276987/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com