对于两个打开的(相同的,但命名不同的)工作簿,如果希望确保执行的VBA代码来自活动工作簿,可以使用以下方法:
ActiveWorkbook
属性获取当前活动的工作簿对象。ThisWorkbook
关键字来引用当前正在执行代码的工作簿。ThisWorkbook
关键字始终引用包含代码的工作簿,而不受活动工作簿的影响。Workbook.Name
属性来获取工作簿的名称,然后进行比较。以下是一个示例代码,演示如何确保执行的VBA代码来自活动工作簿:
Sub ExecuteCodeFromActiveWorkbook()
Dim activeWorkbook As Workbook
Dim codeWorkbook As Workbook
' 获取当前活动的工作簿
Set activeWorkbook = ActiveWorkbook
' 根据工作簿的名称或路径来判断是否为活动工作簿
If activeWorkbook.Name = "活动工作簿名称.xlsx" Then
' 执行活动工作簿的代码
' ...
Else
' 获取包含代码的工作簿对象
Set codeWorkbook = ThisWorkbook
' 执行包含代码的工作簿的代码
' ...
End If
End Sub
在这个例子中,我们首先使用ActiveWorkbook
属性获取当前活动的工作簿对象。然后,我们通过比较活动工作簿的名称来确定是否为活动工作簿。如果是活动工作簿,我们执行活动工作簿的代码;否则,我们使用ThisWorkbook
关键字引用包含代码的工作簿,并执行该工作簿的代码。
请注意,这只是一个示例,你可以根据实际需求进行修改和扩展。另外,根据你提到的要求,我不能提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,因此无法提供腾讯云相关产品和产品介绍链接地址。
领取专属 10元无门槛券
手把手带您无忧上云