在另一个文件中存储的CSV文件上运行宏

时间:2018-10-02 11:24:40

标签: excel-vba vbscript

我有一个每天收到的CSV文件,该文件使用存储在我的个人宏文件中的宏进行格式化。我正在尝试创建一个vbs文件,该文件将通过计划任务在CSV文件上运行宏,但是我没有运气。这是vbs文件:

    get(uid : string): AngularFireObject<AppUser>
      {
        return this.db.object('/users/'+ uid);
      }

这是我得到的错误:

  

C:\ Users \ dmcgettigan \ Desktop \ test.vbs(13,3)Microsoft Excel:无法运行宏'c:\ users \ dmcgettigan \ desktop \ Personal.xlsb!new sales'。该宏可能在此工作簿中不可用,或者可能禁用了所有宏。

关于我在做什么错的任何想法吗?

1 个答案:

答案 0 :(得分:2)

对我来说,就是这样

  Dim xlApp 

  Set xlApp = CreateObject("Excel.Application") 
  xlapp.workbooks.open("<Path to your PERSONAL.XLSB>")
  xlApp.Run "PERSONAL.XLSB!Test"  
  xlApp.Quit 

注释也正确,您要运行的子名称不能空白。

更新,由于无法对其进行测试,因此代码应如下所示:

Option Explicit

ExcelMacroExample

Sub ExcelMacroExample() 
  Dim xlApp 
  Dim xlBook 

  Set xlApp = CreateObject("Excel.Application") 
  Set xlBook = xlApp.Workbooks.Open("c:\users\dmcgettigan\desktop\test.csv", 0, True) 
  xlapp.workbooks.open("c:\users\dmcgettigan\desktop\Personal.xlsb")
  xlApp.Run "Personal.xlsb!newsales"
  xlApp.Quit 

  Set xlBook = Nothing 
  Set xlApp = Nothing 
End Sub