2016-03-03 77 views
0

我写了一个宏来刷新工作簿,并保存下来选定的板在目录中的值另一个工作簿只(消除纸张的所有公式)VBS触发宏观不工作

Sub create() 

ActiveWorkbook.RefreshAll 
ActiveWorkbook.Save 
Dim WS As Worksheet 
Application.DisplayAlerts = False 
For Each WS In Sheets(Array("Product Team", "Marketing Team")) 
WS.UsedRange.Value2 = WS.UsedRange.Value2 
Next WS 
Set WS = Nothing 

ChDir "\\Mac\Home\Desktop" ' Name folder 

ActiveWorkbook.SaveAs Filename:= _ 
    "\\Mac\Home\Desktop\test.xlsx" _ 
    , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
End Sub 

这只是正常的时候我运行宏,然后我写了一个VBS触发宏,而无需打开电子表格

Set fso = CreateObject("Scripting.FileSystemObject") 
curDir = fso.GetAbsolutePathName(".") 
Set myxlApplication = CreateObject("Excel.Application") 
myxlApplication.Visible = false 
Set myWorkBook = myxlApplication.Workbooks.Open("\\Mac\Home\Desktop\Testbook.xlsm") 'Change to the actual workbook that has the Macro 
myWorkBook.Application.Run "Module1.create()" 
myxlApplication.Quit 
运行

我不知道为什么VBS不工作,它的运行,但什么也没得到了保存,我原来的工作簿消除所有的公式。

回答

0

调用宏没有括号,应该工作

myWorkBook.Application.Run "Module1.create"