2014-06-24 66 views
0

我試圖用我的數據庫中的管理表替換VBA中的所有路徑常量,這樣用戶就可以在不必編輯vba代碼的情況下更改文件夾和文件的位置。Dlookup超鏈接在MsgBox中顯示

的代碼如下

Private Sub Command8_Click() 

    Debug.Print DLookup("fsFileLink", "tblFileSystem", "fsFileName= 'TEMPLATES'") 
    MsgBox = DLookup("fsFileLink", "tblFileSystem", "fsFileName= 'TEMPLATES'") 

End Sub 

debug.print返回

C:\Users\... \templates\ 

但MSGBOX返回錯誤 「左必須是變體或對象」。 如何將我的dlookup值作爲可以在文本框中顯示和編輯的字符串?

謝謝

+1

'MsgBox ='不是正確的語法 –

+0

這就是有點尷尬,這是一個漫長的一天lol –

+0

也許您在尋找'strResult = InputBox(「您的標題」,DLookup(「fsFileLink」,「tblFileSystem」,「fsFileName ='TEMPLATES'」))',它應該顯示您查找的路徑爲默認價值,但讓你在屏幕上編輯它。 – pteranodon

回答

0

我使用下面的代碼:

Dim strCOCTemplate As String 

strCOCTemplate = Nz(DLookup("fsFileLink", "tblFileSystem", "fsFileName= 'TEMPLATE_COC2'"), "none") 

If strCOCTemplate = "none" Then Err.Raise Number:=11001, Description:=ERR_DESC_11001 
Set docJobSpec = WordApp.Documents.Add(Template:=strCOCTemplate, NewTemplate:=True) 

使用DLookup返回一個變量,但Template:=不能接受空值並引發akward的錯誤。我通過使用nz()函數來補償這個函數返回一個字符串,並提出了我自己的自定義錯誤,說該表找不到數據