打开新添加的文档

时间:2014-05-05 15:34:53

标签: vba word-vba

使用Windows XP,Office 2007和Microsoft自定义UI编辑器构建加载项。

我正在创建一个加载项,它只是打开一些预定义的单词.dotx模板。但是我遇到了一个问题。

新单词文档根本无法激活。我认为这是因为每个用户使用两个或三个显示器,但我不知道如何在VBA中处理这样的设置。

此外,有时新文档无法激活。每当代码中出现userform时,它似乎都会出错。

使用激活我的意思是向用户显示“旧”文档,并且新打开的文档无法获得焦点。

无论如何,这里的代码不会让我工作:

Private Sub btnOK_Click()

If Me.chbxFigures = False Then
    If Me.obtnDanish Then
        Set newDoc = Documents.Add(Template:="path", NewTemplate:=False, DocumentType:=0, Visible:=True)
    ElseIf Me.obtnEnglish Then
        Set newDoc = Documents.Add(Template:="path", NewTemplate:=False, DocumentType:=0, Visible:=True)
    End If
ElseIf Me.chbxFigures Then
    If Me.obtnDanish Then
        Set newDoc = Documents.Add(Template:="path", NewTemplate:=False, DocumentType:=0, Visible:=True)
    ElseIf Me.obtnEnglish Then
        Set newDoc = Documents.Add(Template:="path", NewTemplate:=False, DocumentType:=0, Visible:=True)
    End If
End If

'Documents.Add.ActiveWindow.Panes(2).Activate
newDoc.ActiveWindow.Visible = True
newDoc.ActiveWindow.Activate
newDoc.Activate
Set newDoc = Nothing

Unload Me

End Sub

这段代码似乎运行良好:

Sub LoadSC(control As IRibbonControl)
    Set newDoc = Documents.Add(Template:="path", NewTemplate:=False, DocumentType:=0, Visible:=True)
    newDoc.Activate
    newDoc.ActiveWindow.Visible = True
    newDoc.ActiveWindow.Activate
    newDoc.ActiveWindow.ActivePane.Activate
    Set newDoc = Nothing
End Sub

谷歌在两天内没有得到答案,所以我希望你们中的一些人可能会带领我一个有用的方向。

1 个答案:

答案 0 :(得分:0)

根据评论和确认,将Unload Me移到行newDoc.ActiveWindow.Visible = True之上将解决此问题 - 表单可能会停止启动新文档。

在VBA中,代码仍会执行到End Sub/FunctionExit Sub/Function