如何在HTML中保存副本时保持原始word文档处于打开状态?

时间:2017-06-05 19:02:20

标签: vba ms-word word-vba

我遇到的问题是当我运行宏来将当前Word文档保存为HTML类型时,文档仍然保持打开但不是原始.docx格式,它是.htm格式。

如果我在运行宏之后编辑文档,它将不会保留原始的.docx格式。

我希望在保存不同格式的副本时能够保留原始格式的反馈。谢谢。

这是我在VBA中的HTML代码的docx

Sub DocToHTML()

    Dim slice As String
    Dim strDocName As String
    Dim PathOrg As String

    On Error Resume Next

    strDocName = ActiveDocument.Name
    slice = Left(strDocName, InStrRev(strDocName, ".") - 1)
    strDocName = ActiveDocument.Path + "\" + slice
    ActiveDocument.SaveAs2 FileName:=strDocName, FileFormat:=wdFormatHTML

End Sub

1 个答案:

答案 0 :(得分:2)

在你编写代码之前做这样的事情就停下来想想如何在没有代码的UI中做到这一点。您编写的任何代码都只会自动执行该过程。

那么你会在UI中做些什么?

  1. 保存原始文档以保留您所做的任何更改。
  2. 将副本另存为html。
  3. 重新打开原始文档。
  4. 可能关闭html版本。
  5. 所以你的代码可以按如下方式重写:

    nameChangeLog: string[] = [];
    logNameChange() {
      const nameControl = this.heroForm.get('name');
      nameControl.valueChanges.forEach(
        (value: string) => this.nameChangeLog.push(value)
      );
    }