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

标签 excel vba visio

所以基本上,我有一个包含大量形状和数据的 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/

相关文章:

office365 - 无法在服务器 2012 上安装 Microsoft Visio 2016

excel - isSetSupported 测试通过,但 API 不可用并抛出 ApiNotFound 错误

excel - 将形状添加到范围(.AddShape 方法)

c# - SQL/C# : DataTable to stored procedure (INSERT from user-defined table type) - Converting error

ms-access - 如何过滤表单中具有多个组合框的 Access 子表单?

excel - 如何一起使用 Countif 和 Vlookup

vb.net - 在代码中进行自动化时可以抑制 Visio 的宏警告提示吗?

vba - 当单元格失去焦点时,可以测试 Excel 单元格文本的长度吗?

excel - 使用复制目标和选择性粘贴来保持格式

c# - 将形状添加到新的 Visio 文档