使用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
谷歌在两天内没有得到答案,所以我希望你们中的一些人可能会带领我一个有用的方向。
答案 0 :(得分:0)
根据评论和确认,将Unload Me
移到行newDoc.ActiveWindow.Visible = True
之上将解决此问题 - 表单可能会停止启动新文档。
在VBA中,代码仍会执行到End Sub/Function
或Exit Sub/Function
。