是否有將字符串轉換爲可執行代碼行的方法?VBA如何將一個字符串作爲一行代碼運行
類似:
Dim Line1 as String
Line1 = "MsgBox (""Hello"")"
Execute Line1
導致彈出框說你好。
我正在做的是從文本文件中拉出線條。我可以拉出表單控件的名稱,並使用它們對這些表單控件執行操作,但我想更進一步並執行行。 我看到的權利要求,這將工作:
Application.Run Line1
或使變量的數組,並將其存儲在元件1例如並使用
Application.Run Line1(1)
但它不適用於我。
好的,在寫這篇文章的時候我也一直在做實驗。我發現,當1號線是一個消息框
Eval (Line1)
將工作,但不是當它是一樣的東西:
line1 = "DoCmd.OpenForm ""form1"""
任何提示,將不勝感激。
感謝
感謝您對圓括號的建議,但它仍然無效。按照您在運行時錯誤2482中寫入結果的方式編寫代碼,「數據庫無法找到您在表達式」 –
「中輸入的名稱'DoCmd',我使用Access 2003在現有數據庫上使用form1對其進行了測試。你能把它放到我的上下文中併發布你添加的代碼嗎?另外,您使用的是哪個版本的Access? –
要測試語法,我實際上只是將代碼綁定到一個新按鈕: Private Sub Command118_Click() Eval(「DoCmd。的OpenForm(「」 frmMain「」)「) 結束小組 已經有相同的表單上的按鈕,成功地使用: DoCmd.OpenForm‘frmMain’ 所以我儘量減少潛在的變數,我在Access 2007中。 如果我在Eval中將其更改爲「Application.DoCmd ...」,我會收到有關DoCmd在沙箱模式中不安全但向功能按鈕添加相同的「應用程序」的消息。 我想這可能是DoCmd在沙箱模式下無法使用Eval。 –