簡體   English   中英

在不打開Excel的情況下運行宏

[英]Running Macros without opening excel

我想知道如何將Excel VBA上編寫的VBA代碼分配給某種過程/程序,或者分配與dos相關的文件路徑,而無需打開excel就可以直接使用。 換句話說,我希望有一個桌面圖標,我可以攪拌分配給我的VBA代碼。

您可以輕松做到。

在VBS文件中添加以下內容(例如example.vbs)。 這只是可以使用記事本編寫的文本文件:

'Code should be placed in a .vbs file
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\path\to\my\excel\file\myExcelMacroFile.xlsm'!MyModule.MyFunctionName"
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing

然后,您可以雙擊VBS文件來執行它。

資料來源: http : //wellsr.com/vba/2015/excel/run-macro-without-opening-excel-using-vbscript/

如果我理解的沒錯,您可以簡單地在文本文件中編寫VBS代碼並將其重命名為.vbs(確保文件結尾在Windows中可見)。 雙擊時,該文件由Windows腳本宿主執行。 VBS缺少VBA的某些功能,但是您可以使用CreateObject / GetObject做很多事情。

如果Excel宏中的VBA沒有引用Excel對象,則只需將代碼復制到文本文件中,然后將擴展名更改為.VBS。 但是,VB腳本在使用類型時不喜歡它,只需從Dim語句中刪除“ AS something”即可。

我經常這樣做是為了獲得Intellisense的好處,而我不會使用Notepad。

如果我的假設是正確的,那么您可能希望將標簽更改為VB腳本而不是Excel,以獲得適當的幫助。

雖然學習曲線可能有點陡峭,但是您可以考慮使用AutoHotKey。 這使您可以創建自己的腳本,如果需要,可以將它們轉換為(相當大).exe文件。 AutoHotKey是免費的!

編寫一個打開excel的cmd或ps1,然后在excel的啟動中運行您的宏...,然后關閉它。

這可能是一個解決方案,但是您可能正在做一些在正確的計划環境中不必要的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM