将两个工作簿保存到一个文件中?

时间:2012-07-27 12:50:40

标签: excel excel-vba vba

我有一个搜索引擎,它从两个不同的工作簿中抽取,一个是搜索引擎所在的,所以这很容易,但另一个是单独的。

我想知道是否有办法将它们联系起来,以便如果一个被打开,另一个将会。这些将被放在维基上,我需要它们都要下载,有没有办法将它们放在同一个文件中,但同时保持它们分开?

我猜测答案是否定的,但挑选你的大脑并没有伤害;)

1 个答案:

答案 0 :(得分:0)

最实用的方法是将代码放在每个文件中

 - check if the other file eas already open 
 - if not then either
     - open the other file (assuming the same location) if not already open
     - report the file as missing

为此,您可以将以下代码放在两个工作簿的ThisWorkbook模块中。

请注意,代码禁用事件以避免新打开的文件尝试重新打开初始文件(尽管代码仍将处理此

在第二本书中使用相同的代码,但更新strFil变量以获取另一本书的名称

<强> File#2

Private Sub Workbook_Open()
'This File is File02.xlsm
'Other file is File01.xlsm
Dim strFile1 As String
Dim wb As Workbook
strFile = "File01.xlsm"
On Error Resume Next
Set wb = Workbooks(strFile)
On Error GoTo 0
'if file is already open then leave sun
If wb Is Nothing Then
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
On Error Resume Next
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & strFile)
On Error GoTo 0
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
End If
'file not present
If wb Is Nothing Then MsgBox strFile & " not present", vbCritical
End Sub