2014-04-11 48 views
0

如何在VBScript中使用別名?我想下面的代碼:VBS中的別名錯誤

AliasesExample 
Sub AliasesExample 
    Dim AliasObj 
    ' Obtains the object that corresponds to the Notepad main window 
    Set AliasObj = Aliases.notepad.wndNotepad 
    ' Checks whether the specified window exists 
    If AliasObj.Exists Then 
    ' Enters text in the Notepad editor 
    AliasObj.Keys("Hello, world.") 
    Else 
    Log.Error("Notepad is not running.") 
    End If 
End Sub 

但得到以下錯誤:

object required: 'Aliases' 
+0

您需要添加更多的代碼。顯示別名是什麼,它被設置爲什麼。目前我不知道你在做什麼。 –

+0

問題根據您的要求更新。現在這是完整的代碼。 – RedLeo

+0

謝謝,但別名是什麼?這不是內置於Excel的內容,那它是什麼?我希望它從你顯示的代碼中爲空,所以Aliases.notepad.wndNotepad可能會出錯。事實上,錯誤表示別名爲空。那麼它應該是什麼? –

回答

1

VBScript和Windows腳本宿主不支持調用DLL和Windows API函數,但有是一些可能的解決方案:

  • 可以調用到通過COM對象暴露的DLL功能:

    Set obj = CreateObject("Foo.Bar") 
    Call obj.Method(Param1, Param2) 
    
  • 可能能夠調用使用rundll32一些DLL函數,如果DLL和功能滿足certain requirements

    ' Open "Programs and Features" using the Control_RunDLL function from shell32.dll 
    Set oShell = CreateObject("WScript.Shell") 
    oShell.Run "rundll32.exe shell32.dll Control_RunDLL appwiz.cpl,,0" 
    

除此之外,你的運氣了。因此,一般來說,你需要一個COM可調用的包裝函數來使你的DLL函數能夠從VBScript中使用它。

+0

謝謝,這真的很有幫助,其實我試圖用任務欄上的自定義圖標更改應用程序圖標(在Windows 8)你有什麼想法嗎?請檢查我的另一個問題[更改Excel 2013默認圖標](http://stackoverflow.com/questions/22867644/change-excel-2013-default-icon) – RedLeo