![](/img/trans.png)
[英]firebase commands not working in vs code terminal 800a03ea error
[英]vbs syntax error: 800A03EE ')' expected
我嘗試在名為“ addcurrentkey.vbs”的文件中執行此操作,但在第1行中應顯示“)”。字符38。
我嘗試了本教程: http : //www.codeproject.com/Articles/16569/Autorun-Applications
為什么我不能執行.vbs文件?
Private Sub AddCurrentKey(ByVal name As String, ByVal path As String)
Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
key.SetValue(name, path)
End Sub
您發布的代碼可能是用VB.net(或VBA)編寫的。 您想將代碼作為VBScript運行,它不支持鍵入的參數和變量。 它還不提供您要使用的注冊表對象。 從此更改過程:
Private Sub AddCurrentKey(ByVal name As String, ByVal path As String)
Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
key.SetValue(name, path)
End Sub
對此:
Private Sub AddCurrentKey(ByVal name, ByVal path)
Dim key : key = "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"
CreateObject("WScript.Shell").RegWrite key & "\" & name, path
End Sub
問題就會消失。
VBScript仍然使用“舊的” Visual Basic語法。 這區分了表達式中使用的函數調用和作為語句的過程調用。 您在表達式中使用(括號),而不在語句中使用。 固定:
key.SetValue name, path
或者,如果您願意:
Call key.SetValue(name, path)
該錯誤消息很難解釋,因為腳本解釋器認為您正在嘗試編寫以下代碼:
key.SetValue (name), path
這意味着完全不同的東西。 VBScript傳遞參數ByRef。 名稱周圍多余的括號將其轉換為創建變量副本的表達式。 可以通過SetValue過程對其進行修改,而不會影響name變量。 不是它的實際作用,也不是您的意圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.