CSV中的Excel宏

时间:2012-08-08 06:49:05

标签: excel excel-vba csv export-to-excel vba

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

我使用csv模板将文件导出为CSV,是否可以在CSV格式的模板上编写宏。我不能用XLS格式。任何人都可以帮我吗?

3 个答案:

答案 0 :(得分:4)

虽然您无法在CSV文件中保存宏,但您可以

  1. 使用控制器工作簿或插件
  2. CSV上运行宏
  3. 更进一步,以编程方式将代码添加到CSV文件中(例如添加事件处理程序)
  4. 如果您提供了有关您需要做什么的更多信息,那么我们可以帮助您解决上述问题。

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

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

    如果您需要动态捕捉CSV文件的创建,则需要使用更复杂的方法,例如使用VBscript with WMI

    <强> Controller Workbook Approach

    ThisWorkbook Module

    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
    

答案 1 :(得分:2)

设置:Excel 2010

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

详情

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

答案 2 :(得分:0)

要实现您想要做的事情,您需要首先使用所需的宏VB代码创建一个XLS。然后,您需要将此XLS保存在始终可用的位置(即,在HD或公司网络上)。然后,您需要在计算机上的Excel中创建自定义按钮,并将此按钮链接到您希望触发的VB宏模块。这意味着无论何时手动打开Excel或打开CSV,您都可以在工具栏中使用自定义按钮。然后,当在Excel中打开CSV时,您可以单击自定义按钮,它将从已保存的XLS中释放您链接到它的宏。