Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb6 使用VB将问题另存为UFT中的word文档_Vb6_Qtp_Hp Uft - Fatal编程技术网

Vb6 使用VB将问题另存为UFT中的word文档

Vb6 使用VB将问题另存为UFT中的word文档,vb6,qtp,hp-uft,Vb6,Qtp,Hp Uft,创建了一个函数来保存以前在另一个函数中创建和修改的word文档,但它向我发送了一个错误:这不是有效的文件名。 这是我的代码: Set obj_Word = CreateObject("Word.Application") obj_Word.Visible = True Set doc = obj_Word.Documents.Open("C:\Evidencias3.docx") NombreDocumento = DataTable.Value("Preguntas","Global") S

创建了一个函数来保存以前在另一个函数中创建和修改的word文档,但它向我发送了一个错误:这不是有效的文件名。 这是我的代码:

Set obj_Word = CreateObject("Word.Application")
obj_Word.Visible = True
Set doc = obj_Word.Documents.Open("C:\Evidencias3.docx")
NombreDocumento = DataTable.Value("Preguntas","Global")

Sub SaveEvidences()
obj_Word.Visible = True
    doc.SaveAs("C:\Evidencias_"& NombreDocumento &".docx")
    obj_Word.Quit
    Set obj_Word = Nothing
End Sub

非常感谢您的帮助或推荐

您可以在保存之前尝试清除文件名:

Public Function CleanFileName(ByVal sIn As String) As String
    Dim sOut As String, sIllegalChars As String
    sIllegalChars = "\/:*|?<>" + Chr(34)
    sOut = sIn
    For q = 1 To Len(sIllegalChars)
        sOut = Replace(sOut, Mid(sIllegalChars, q, 1), "_")
    Next
    CleanFileName = sOut
End Function

参考资料:

问题可能在于:

NombreDocumento = DataTable.Value("Preguntas","Global")
不熟悉代码,是否可能返回空值?如果是这样,您可以尝试向其附加一个空字符串:

NombreDocumento = DataTable.Value("Preguntas","Global") & ""

无论哪种方式,我都会调试代码,看看构造的文件名实际上是什么。也许到那时它会变得很明显。

您从NombreDocumento获得的字符串值是多少?为什么会标记为VB6?这个产品不是使用VBScript作为它的宏脚本语言吗?@阿尔曼多萨尔迪瓦尔:很高兴这对你有帮助,请考虑将答案标记为接受,以便其他人也能发现它有用。
NombreDocumento = DataTable.Value("Preguntas","Global") & ""