2012-10-25 82 views
1

我正在嘗試使用WScript.Shell.Run來打開文件。該文件並不總是相同的類型,我想依靠Windows使用默認程序打開文件。VBS WScript.Shell運行.htm文件掛起IE

對於使用記事本的.txt設置它的工作很棒。對於使用Internet Explorer 8或9(Windows XP或Windows 7)的.htm(或.html),該命令將執行併發生兩件事之一。

  1. 如果在腳本啓​​動之前沒有運行IE的其他實例,它將打開IE並掛起而不會顯示任何內容。
  2. 如果至少有1個其他IE窗口(或標籤)打開,腳本將執行並執行默認操作,即打開新標籤頁或窗口並顯示.htm(或.html)文件的內容。

這個問題在其他瀏覽器中並不明顯,例如,如果您更改.htm的默認處理程序,以表示它可以在兩種情況下都能正常工作,並且始終顯示內容。

test.vbs

Set App = Wscript.CreateObject("WScript.Shell") 
App.Run("C:\test.htm") 
WScript.Quit 

TEST.HTM

<html> 
<head><title>Test File</title></head> 
<body><p>Test File</p></body> 
</html> 

回答

2

我發現下面的代碼塊的工作到位使用WScript.Shell.Run

Set objShell = CreateObject("Shell.Application") 
objShell.ShellExecute "C:\Backups\Scripts\test.htm"