2016-03-03 74 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"