2014-06-24 65 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()函数来补偿这个函数返回一个字符串,并提出了我自己的自定义错误,说该表找不到数据