如果不存在,则创建新的word文档

时间:2015-04-02 12:59:57

标签: excel vba excel-vba word-vba

我正在尝试使用VBA在Excel中创建仪表板。这就是我想要做的事情:

  • 在指定目录中创建临时word文件。
  • 使用excel中的图表和表格填充此临时word文档。
  • 将文档邮寄给excel中指定的人员。
  • 删除临时word文件。

所以,当我开始编码时,我使用下面的语句从目录中打开word文档。

    Set objDoc = objWord.Documents.Open(Cells(4, 6) + “Temp.docx”)

* Cells(4,6)具有文件路径

如果文件" Temp.docx"已存在于目录中。

如果我想创建一个新文件" Temp.Docx"如果它不在指定目录中?

1 个答案:

答案 0 :(得分:0)

尝试一下:

On Error Resume Next  'allow code to continue even if there's an error
Set objDoc = objWord.Documents.Open(Cells(4, 6) + “Temp.docx”)
if err.number > 0     'check to see if there's an error
  'if there was an error opening the document, create a new one instead
  Set objDoc = objWord.Documents.Add(Cells(4, 6) + “Temp.docx”)
end if
on error goto 0    'reset error handling to stop on error

您可能希望为整个代码提供更好的错误处理,但这个小块应该处理您的特定问题。

您可能还想确认cells(4,6)\结尾,或者您的路径\文件名不正确。你可以用:

来做到这一点
if right(cells(4,6),1) <> "\" then
    cells(4,6) = Cells(4,6) & "\"
end if

然后,您可以执行第一个代码块,知道您具有适当的分隔符