VBScript找不到文件指定的Server 2003

我有以下代码:

set app = CreateObject("Excel.Application") Set wb = app.Workbooks.Open("Y:\Billing_Common\autoemail\*.xls") set sh = wb.Sheets("Auto Email Script") row = 2 name = "Customer" email = sh.Range("A" & row) subject = "Billing" the = "the" LastRow = sh.UsedRange.Rows.Count For r = row to LastRow If App.WorkSheetFunction.CountA(sh.Rows(r)) <> 0 Then SendMessage email, name, subject, TRUE, _ NULL, "Y:\Billing_Common\autoemail\Script\energia-logo.gif", 143,393 row = row + 1 email = sh.Range("A" & row) End if Next wb.close set wb = nothing set app = nothing Sub SendMessage(EmailAddress, DisplayName, Subject, DisplayMsg, AttachmentPath, ImagePath, ImageHeight, ImageWidth) ' Create the Outlook session. Set objOutlook = CreateObject("Outlook.Application") template = FindTemplate() ' Create the message. Set objOutlookMsg = objOutlook.CreateItem(0) With objOutlookMsg ' Add the To recipient(s) to the message. Set objOutlookRecip = .Recipients.Add(EmailAddress) objOutlookRecip.resolve objOutlookRecip.Type = 1 ' Set the Subject, Body, and Importance of the message. .Subject = Subject .bodyformat = 3 .Importance = 2 'High importance body = Replace(template, "{First}", name) body = Replace(body, "{the}", the) if not isNull(ImagePath) then if not ImagePath = "" then .Attachments.add ImagePath image = split(ImagePath,"\")(ubound(split(ImagePath,"\"))) body = Replace(body, "{image}", "<img src='cid:" & image & _ "'" & " height=" & ImageHeight &" width=" & ImageWidth & ">") end if else body = Replace(body, "{image}", "") end if if not isNull(AttachMentPath) then .Attachments.add AttachmentPath end if .HTMLBody = body .Save .Send End With Set objOutlook = Nothing End Sub Function FindTemplate() Set OL = GetObject("", "Outlook.Application") set Drafts = OL.GetNamespace("MAPI").GetDefaultFolder(16) Set oItems = Drafts.Items For Each Draft In oItems If Draft.subject = "Template" Then FindTemplate = Draft.HTMLBody Exit Function End If Next End Function 

当我的本地机器运行时,它工作正常,但是当运行Windows服务器时,它会在线路上抛出一个错误:

 Set wb = app.Workbooks.Open("Y:\Billing_Common\autoemail\*.xls") 

说它无法find指定的文件,服务器上有Office 2003,我已经跑出了为什么它不工作的想法。

任何帮助将非常感激!

谢谢。

Office 2003的Open方法很可能不支持path中的通配符。 你将不得不枚举该文件夹中的文件:

 Set app = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject") For Each f In fso.GetFolder("Y:\Billing_Common\autoemail").Files If LCase(fso.GetExtensionName(f)) = "xls" Then Set wb = app.Workbooks.Open(f.Path) ... wb.Close End If Next