gpt4 book ai didi

excel - VBA 宏 : Exporting Visio Shape Report into New Excel File, 然后创建数据透视表

转载 作者:行者123 更新时间:2023-12-04 20:51:59 25 4
gpt4 key购买 nike

所以基本上,我有一个包含大量形状和数据的 Visio 文件。我正在尝试将形状报告创建到新的 excel 文件中,然后让 excel 文件以编程方式将导出的数据转换为数据透视表。

我在 Visio 中运行了一个宏,它已经生成了带有普通表格形式数据的 excel 文件。我希望能够在 Visio 中运行激活导出数据的 excel 窗口并运行宏以使其成为数据透视表的宏。但是,我放入 visio 宏模块的任何 excel 宏代码都无法识别(例如“范围”),可能是因为它们不是 Visio 识别的单词。

我的问题是:如何运行从 Visio 模块更改 Excel 文件的宏?

我知道如何从 Visio (Excel.run "ModuleNAME") 调用 Excel 文件中的宏,但这需要宏已经在 Excel 中。由于我在获得形状报告时正在创建新的 Excel 文件,因此这些文件中没有任何宏。

另一种解决方案是,如果我能够将 Visio 中的形状数据报告作为新工作表导出到已包含宏的现有 Excel 文件中,但我也不确定如何执行此操作......(从现有 Excel 文件的 Visio)

我的生成 Excel 报告的代码:

Sub Excel2()
Visio.Application.Addons("VisRpt").Run
("/rptDefName=ReportDefinition_2.vrd/rptOutput=EXCEL")
End Sub

我想在运行 Excel2() 后运行这个宏
Sub NewMacro()
AppActivate "Microsoft Excel"
Dim AppExcel As Excel.Application
Set AppExcel = CreateObject("Excel.Application")

'Do all sorts of fancy stuff with making pivot tables
'Do all sorts of fancy stuff with making pivot tables
End Sub

最佳答案

您可以只使用 Get/CreateObject 函数来使用 Visio 中的 Excel 应用程序实例。

看看这篇文章:

http://msdn.microsoft.com/en-us/library/gg251785.aspx

您可能还会发现这很有用:

http://support.microsoft.com/kb/309603

...它描述了相反的方向(即从另一个应用程序控制 Visio),但在您的情况下,您会执行以下操作:

Dim AppExcel As Excel.Application

On Error Resume Next

Set AppExcel = GetObject(, "excel.application")

If AppExcel Is Nothing Then
Set AppExcel = CreateObject("excel.application")
End If

希望有帮助。

关于excel - VBA 宏 : Exporting Visio Shape Report into New Excel File, 然后创建数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57281836/

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