fme调用excel的VBA
时间: 2024-06-06 22:09:14 浏览: 213
我理解您的问题是如何在fme中调用Excel的VBA。具体实现方法如下:
1. 打开FME Workbench并创建一个新工作空间。
2. 将Excel文件(包含VBA代码)作为源数据添加到工作空间。
3. 在导入器设置对话框中,选择“使用自定义脚本”选项,点击“编辑脚本”按钮。
4. 在弹出的“FME脚本编辑器”窗口中,输入以下代码:
Sub RunExcelMacro(macroName As String)
Dim xl As Object
Set xl = CreateObject("Excel.Application")
Dim xlBook As Object
Set xlBook = xl.Workbooks.Open(InputDataset_Dataset)
xl.Application.Visible = True
xl.Application.Run macroName
xlBook.Save
xlBook.Close
xl.Quit
End Sub
请注意,这是VBA代码,而不是FME脚本代码。这段代码将Excel应用程序的对象作为xl创建,并打开工作薄(InputDataset_Dataset是Excel数据源名称)。然后,它会运行输入的宏名称(在这种情况下是“macroName”),之后保存工作簿并关闭Excel应用程序。这个子程序可以在FME脚本中调用。例如,如果要调用名为“Macro1”的宏,可以使用以下脚本代码:
RunExcelMacro "Macro1"
5. 将目标数据集添加到工作空间并进行必要的映射和转换。
6. 运行工作空间即可执行VBA宏并将结果写入目标数据集中。
希望我的回答能够帮助到您!
阅读全文