簡體   English   中英

使用批處理文件在文件夾中的所有Word文檔上執行VBA宏

[英]Use a batch file to execute a VBA macro on all word docs in a folder

我的文件夾中有幾個.docm文件。 每個文件都有一個名為SaveFormData的VBA宏,該宏將文件的舊版字段表單保存到.txt文件中,然后關閉.docm。 我正在嘗試創建一個批處理文件,該文件將在每個文件中執行宏,而不必直接調用每個文件。 到目前為止,這就是我所得到的...

@echo off
set myPath=C:\Users\Long File Path with Spaces\

for /f %%f in (%myPath%) do echo ("C:\Some other path\WINWORD.EXE" /mSaveFormData)

我真的沒有創建批處理文件的經驗,所以我不確定哪里出了問題。 我曾嘗試按照其他一些帖子的內容進行操作,有關使用批處理文件對文件夾中的多個文件進行操作,但是除了像這樣單獨調用每個文件外,我沒有其他成功,但是我知道這不是很成功高效。

@echo off
set myPath=C:\Users\Long File Path with Spaces\

"C:\Some other path\WINWORD.EXE" /mSaveFormData "%myPath%DocName1.docm"
"C:\Some other path\WINWORD.EXE" /mSaveFormData "%myPath%DocName2.docm"

遍歷目錄中對所有的文件,閱讀help for ,然后嘗試這for在命令行命令。

for %a in (*.docm) do @echo %~fa

遞歸地迭代到所有目錄和子目錄

for /r %a in (*.docm) do @echo %~fa

最后,將echo替換為適當的命令,並為bat文件安排一些語法

@echo off
pushd "C:\Users\Long File Path with Spaces"
set "winword=C:\Office path\WINWORD.EXE"
for /r %%a in (*.docm) do "%winword%" /mSaveFormData "%%~fa"
popd

暫無
暫無

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

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