我不习惯VBA语言,所以我来找你帮忙解决我的问题。
基本上,我想要做的是,在打开MS Word 2010文档时,打开一个新文档,将注意力集中在它上面,然后用它做任务。
我面临的问题是我可以有效地打开新文档,但是设置函数的.activate
函数不起作用,因为后面的指令仍在第一个文档中执行
这是我的代码:
Private Sub BOK_Click()
*...instructions...*
'Opens a new document
Application.Documents.Add
'Select the latest opened document and sets the focus on it
Application.Documents(Application.Documents.Count).Activate
* do stuff *
End Sub
如果有帮助,完整的背景是: 我有一个主模板,其中包含6个预填充模板,并根据用户的选择(从下拉表单)选择正确的预填充模板并在新的Word文档中打开它,然后关闭主模板。
答案 0 :(得分:1)
Documents.Add做了什么:
(通常)无需显式激活刚刚添加的文档。如果您必须或想要使用Activate,最好按名称引用文档,因为索引往往会漂移(如上所述)。
doc1 = ActiveDocument.Name
Documents.Add
doc2 = ActiveDocument.Name
' Do something with document2
Documents(doc1).Activate
' Do something with document1
Documents(doc2).Activate
' Do something with document2 again