2

有没有办法以 CSV 文件格式运行 Excel 宏?

我正在使用 csv 模板将文件导出到 CSV,是否可以在 CSV 格式的模板上编写宏。我不能以 XLS 格式保存它。谁可以帮我这个事?

4

3 回答 3

5

虽然您不能宏保存在CSV文件中,但您也可以

  1. CSV使用控制器工作簿或插件运行宏
  2. 更进一步,以编程方式将代码添加到CSV文件中(例如添加事件处理程序)

如果您提供有关您需要做什么的更多信息,那么我们可以为上述路径提供帮助。

编辑:仍然不清楚 CSV 文件是如何生成的 - 这是通过 Excel 还是通过其他应用程序完成的?]

使用 Pearson 的应用程序事件示例,您可以使用底部的代码(来自打开的 Excel 控制器工作簿)来捕获新CSV文件的添加,然后对其进行格式化。

如果您需要CSV即时捕获文件的创建,则需要使用更复杂的方法,例如将VBscript 与 WMI 结合使用。

Controller Workbook Approach

ThisWorkbook 模块

Private XLApp As CExcelEvents

Private Sub Workbook_Open()
    Set XLApp = New CExcelEvents
End Sub

名为 CExcelEvents 的类模块

Private WithEvents App As Application

Private Sub App_NewWorkbook(ByVal Wb As Workbook)
If Wb.FileFormat = xlCSV Then
MsgBox Wb & " is a Csvfile"
'your code
End If
End Sub

Private Sub Class_Initialize()
    Set App = Application
End Sub
于 2012-08-08T07:00:48.010 回答
2

设置:Excel 2010

将您创建的宏保存到个人宏工作簿。

详情

  1. 打开 *.csv 文件
  2. 录制宏并将其存储在个人宏工作簿中。
  3. 当消息框询问您是否要保存对个人宏工作簿所做的更改时,退出 Excel 并单击保存。

链接到信息源。

于 2016-11-19T00:48:48.253 回答
0

为了实现您想要做的事情,您需要首先创建一个 XLS,其中包含您想要的宏 VB 代码。然后,您需要将此 XLS 保存在始终可用的位置(即在 HD 上或在公司网络上)。然后,您需要在机器上的 Excel 中创建一个自定义按钮,并将此按钮链接到您想要触发的 VB 宏模块。这意味着每当您手动打开 Excel 或通过打开 CSV 时,您将在工具栏中拥有自定义按钮,就像任何其他按钮一样。然后,当 CSV 在 Excel 中打开时,您可以单击自定义按钮,它将从保存的 XLS 中触发您链接到的宏。

于 2012-08-08T07:04:26.917 回答