2017-03-06 34 views
0

我正在嘗試創建一個打開Word並向其中輸入文本的VBScript。打開Microsoft Word並使用SendKeys鍵入文本

我的代碼:

::Set wshshell = WScript.CreateObject("WScript.Shell") 
::Set objShell = CreateObject("WScript.Shell") 
::objShell.AppActivate "word" 
::userProfilePath = objShell.ExpandEnvironmentStrings("%UserProfile%") 
::WScript.Sleep 10000 
::wshshell.SendKeys "Hello World!" 
+0

問題是什麼?你的問題不清楚你要問什麼。 – canadiancreed

+0

@canadiancreed微軟Word未開通 –

回答

0

也許令人驚訝的,你不能使用Word,除非你真正在第一時間啓動程序進行交互。作爲documentedAppActivate方法激活應用程序窗口,即將正在運行的應用程序的窗口帶到前臺。

要啓動Word以編程方式使用這樣的事情:

Set wd = CreateObject("Word.Application") 
wd.Visible = True 

您可以open像這樣的文件:

Set doc = wd.Documents.Open("C:\path\to\your.docx") 

或創建new文件是這樣的:

Set doc = wd.Documents.Add 

文本可以通過例如輸入方法:

doc.Selection.TypeText "some text" 

Save文件是這樣的:

doc.Save 
doc.Close 

likethis(如果它是一個新的文檔,或者您想將其保存在一個不同的名稱/路徑):

doc.SaveAs "C:\path\to\new.docx", 16 
doc.Close 

Exit像這樣的應用程序:

wd.Quit 

不是使用SendKeys任何東西。 EVER。除非你被迫在槍口下被迫。

也做寫Frankenscript混合不同的語言(如批處理和VBScript)在同一個文件中。調試和維護是後面的痛苦。

+0

@謝謝你的建議 –