使用VB在UFT中保存为word文档的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VB在UFT中保存为word文档的问题相关的知识,希望对你有一定的参考价值。
创建了一个函数来保存以前在另一个函数中创建和修改的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
用法:
doc.SaveAs(CleanFileName("C:Evidencias_"& NombreDocumento &".docx"))
参考:MSDN - Naming Files, Paths, and Namespaces
另一答案
也许问题在于:
NombreDocumento = DataTable.Value("Preguntas","Global")
不熟悉代码,是否可能返回null值?如果是这样,您可以尝试向其追加一个空字符串:
NombreDocumento = DataTable.Value("Preguntas","Global") & ""
无论哪种方式,我都会调试代码并查看构造的文件名实际上是什么。也许那时它会变得明显。
以上是关于使用VB在UFT中保存为word文档的问题的主要内容,如果未能解决你的问题,请参考以下文章