我想從數據庫中讀取代碼字符串。一個字符串應該包含文本片段和稍後在項目中設置的一個/兩個變量。結果應該是這樣的:VBA運行字符串作爲代碼
"Greetings, Tom."
通常我會做這樣的事情:
Sub Show()
Dim strName as String
strName = "Tom"
Debug.Print "Greetings, " & strName & "."
...
但是,在這種情況下,部分
「的問候,」 &則strName &」。 「
在我的數據庫中。在運行期間,我將strName的值設置爲多個名稱(例如,在一種情況下爲「Tom」,在另一種情況下爲「Marco」)
如何讓VBA知道strName是變量而不是字符串被顯示?最後我的電話應該是這樣的:
strDbText = <String from Database>
strName = "Tom"
Debug.Print strDbText '--> Greetings, Tom.
任何人都可以幫我一次嗎? 非常感謝!
編輯: 此代碼不會是可執行文件。因此,不需要VBIDE-Objects創建一個新模塊並執行插入的代碼。它是一個字符串,將被寫入Word文檔。
解決方案: 字符串替換與替換()函數
簡答:你不能。但是 - 爲什麼不使用字符串替換和*用'「Tom」'替換*'「strName」'? –
看這裏:https://stackoverflow.com/questions/16510800/vba-access-get-string-from-db – Lucas
爲什麼在世界上你想執行任意文本作爲代碼?當你這樣做時,你有任何惡意(或無知)用戶可能造成的損害的概念嗎?對於你所描述的內容,絕對不需要*執行任何東西。將字符串作爲'Greetings,%Name%'存儲在數據庫中。在運行時,從數據庫中讀取* as *,並用包含個人名字的字符串替換'%Name%',然後使用普通字符串操作,然後將該字符串放入標籤的標題或任何顯示它的位置。沒有*執行*涉及。 –