2013-04-16 39 views
1

我有一个带有复选框,文本框和常用的常用窗体的用户窗体,包括一个我想用来打开Excel电子表格的按钮。这很容易做到:如何打开用户窗体中的文件并使用打开的用户窗体对其进行修改

Private Sub CMB2_Click() 
    Workbooks.Open Filename:="G:\Formular.xlsm" 
End Sub 

虽然这样做,文件无法工作;换句话说,它不是主动的。 from是激活的,直到表单关闭或取消,文件被锁定。我称它为锁定,因为缺乏更好的描述。

如果我使表单无模式,表单中的所有字段都会释放它们的功能,但按钮除外,但至少我可以在打开的电子表格中工作。

UserForm1.Show vbModeless 

我该怎么做?我想在打开的电子表格中工作,并在完成后继续填写表单。

+0

我无法重现该行为。我可以在打开的工作簿上工作,同时所有的控件(复选框,文本框,按钮)功能都很完美...... –

+0

这很奇怪......我曾尝试过Office 2007和2010,并且两次都锁定打开文件。你测试过哪个版本? – Sinbad

+0

我在xl2010 –

回答

3

你必须在新的excel实例中打开其他文件。以下代码将为您执行此操作

Dim xlApp as Excel.Application 
set xlApp = CreateObject("Excel.Application") 
xlApp.Visible = True 
xlApp.Workbooks.Open FileName:="G:\Formular.xlsm" 
+0

BRILLIANT中测试过..谢谢。在Office 2007中工作,采用它也将在2010年工作? – Sinbad

+0

@Sinbad yes此方法也适用于Excel 2010。请记得在最后加上'xlApp.Quit'和'Set xlApp = Nothing'! –

相关问题