"一个实例是任何类的特定实现......" 维基百科上的实例(计算机科学)
Sub Example()
Dim Word1 As Word.Application
Dim Word2 As Word.Application
Dim Word3 As Word.Application
'Instantiate the first instance of a Word application
Set Word1 = New Word.Application
'Instantiate the second instance of a Word application
Set Word2 = New Word.Application
'Point our third Word object variable to the existing instance created above
Set Word3 = Word1
End Sub
Run Code Online (Sandbox Code Playgroud)
上面的代码包含三个对象变量(Word1,)Word2,这些变量Word3从单个类()派生,Word.Application表示两个不同的实例(Word1并Word3指向同一个实例并Word2指向第二个实例).
请务必注意,该行Set Word3 = Word1不会将Word1对象实例的内容复制到Word3. Word1实际上只包含指向对象所在的内存中的位置的指针.
该行Set Word3 = Word1说是将内存指针从变量复制Word1到变量中Word3.因此,您对Word1对象实例所做的任何更改都将反映在Word3对象实例中......因为它们都指向同一个实例.
在示例中:
Set Word3 = Word1
Word1.Visible = True
Debug.Print Word1.Visible 'outputs True
Debug.Print Word3.Visible 'outputs True
Word1.Visible = False
Debug.Print Word1.Visible 'outputs False
Debug.Print Word3.Visible 'outputs False
Run Code Online (Sandbox Code Playgroud)