Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 13
Default Dynamic References to Word?

Hello
As the Late Binding seems very slow, I would like to create a reference on
Word 2000 or Word 2003 (Several PCs are running Office 2000, some others are
running Office 2003.
How can i create a Reference for Microsoft Word 9.0 or for Microsoft Word
11.0 (2000 and 2003)?
How to remove this Reference after the VBA procedure has done its work?
Thanks


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,452
Default Dynamic References to Word?

Sub ActivateWordLibrary()

Dim R

On Error Resume Next

'no need to carry on if the Word Object Library is already there
'---------------------------------------------------------------
For Each R In ThisWorkbook.VBProject.References
If R.GUID = "{00020905-0000-0000-C000-000000000046}" Then
Exit Sub
End If
Next

ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{00020905-0000-0000-C000-000000000046}", _
Major:=0, Minor:=0

On Error GoTo 0

End Sub

You can remove the reference after, but not really neccessary.

RBS


"Newbie" wrote in message
...
Hello
As the Late Binding seems very slow, I would like to create a reference on
Word 2000 or Word 2003 (Several PCs are running Office 2000, some others
are
running Office 2003.
How can i create a Reference for Microsoft Word 9.0 or for Microsoft Word
11.0 (2000 and 2003)?
How to remove this Reference after the VBA procedure has done its work?
Thanks



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 13
Default Dynamic References to Word?

Thanks a lot RB Smissaert !

1° - Does this procedure work if Word 2000 is installed as well with Word
2003 installed?
2° - I need to remove the reference because another VBA procedure (which
doesn't uses Word) hangs if the reference is still there!
Thanks again !

Newbie

"RB Smissaert" a écrit dans le message de
...
Sub ActivateWordLibrary()

Dim R

On Error Resume Next

'no need to carry on if the Word Object Library is already there
'---------------------------------------------------------------
For Each R In ThisWorkbook.VBProject.References
If R.GUID = "{00020905-0000-0000-C000-000000000046}" Then
Exit Sub
End If
Next

ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{00020905-0000-0000-C000-000000000046}", _
Major:=0, Minor:=0

On Error GoTo 0

End Sub

You can remove the reference after, but not really neccessary.

RBS


"Newbie" wrote in message
...
Hello
As the Late Binding seems very slow, I would like to create a reference

on
Word 2000 or Word 2003 (Several PCs are running Office 2000, some others
are
running Office 2003.
How can i create a Reference for Microsoft Word 9.0 or for Microsoft

Word
11.0 (2000 and 2003)?
How to remove this Reference after the VBA procedure has done its work?
Thanks





  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,452
Default Dynamic References to Word?

Yes, should work with all versions of Word as it does Major:=0, Minor:=0.


To remove do this:

Sub RemoveWordReference()

RemoveReference "Word"

End Sub

Sub RemoveReference(strReference As String)

On Error GoTo ERROROUT

Dim R As Object

For Each R In ThisWorkbook.VBProject.References
If R.Name = strReference Then
ThisWorkbook.VBProject.References.Remove R
Exit Sub
End If
Next

ERROROUT:
On Error GoTo 0

End Sub

As it does Dim R As Object, rather than R as Reference you don't need a
reference to
Microsoft Visual Basic for Applications Extensibility.


RBS


"Newbie" wrote in message
...
Thanks a lot RB Smissaert !

1° - Does this procedure work if Word 2000 is installed as well with Word
2003 installed?
2° - I need to remove the reference because another VBA procedure (which
doesn't uses Word) hangs if the reference is still there!
Thanks again !

Newbie

"RB Smissaert" a écrit dans le message de
...
Sub ActivateWordLibrary()

Dim R

On Error Resume Next

'no need to carry on if the Word Object Library is already there
'---------------------------------------------------------------
For Each R In ThisWorkbook.VBProject.References
If R.GUID = "{00020905-0000-0000-C000-000000000046}" Then
Exit Sub
End If
Next

ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{00020905-0000-0000-C000-000000000046}", _
Major:=0, Minor:=0

On Error GoTo 0

End Sub

You can remove the reference after, but not really neccessary.

RBS


"Newbie" wrote in message
...
Hello
As the Late Binding seems very slow, I would like to create a reference

on
Word 2000 or Word 2003 (Several PCs are running Office 2000, some
others
are
running Office 2003.
How can i create a Reference for Microsoft Word 9.0 or for Microsoft

Word
11.0 (2000 and 2003)?
How to remove this Reference after the VBA procedure has done its work?
Thanks






  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 13
Default Dynamic References to Word?

Thanks a lot RBS !
Very useful!
PS : Where can I found all the GUID such as
"{00020905-0000-0000-C000-000000000046} ???
Thanks again



"RB Smissaert" a écrit dans le message de
...
Yes, should work with all versions of Word as it does Major:=0, Minor:=0.


To remove do this:

Sub RemoveWordReference()

RemoveReference "Word"

End Sub

Sub RemoveReference(strReference As String)

On Error GoTo ERROROUT

Dim R As Object

For Each R In ThisWorkbook.VBProject.References
If R.Name = strReference Then
ThisWorkbook.VBProject.References.Remove R
Exit Sub
End If
Next

ERROROUT:
On Error GoTo 0

End Sub

As it does Dim R As Object, rather than R as Reference you don't need a
reference to
Microsoft Visual Basic for Applications Extensibility.


RBS


"Newbie" wrote in message
...
Thanks a lot RB Smissaert !

1° - Does this procedure work if Word 2000 is installed as well with

Word
2003 installed?
2° - I need to remove the reference because another VBA procedure (which
doesn't uses Word) hangs if the reference is still there!
Thanks again !

Newbie

"RB Smissaert" a écrit dans le message

de
...
Sub ActivateWordLibrary()

Dim R

On Error Resume Next

'no need to carry on if the Word Object Library is already there
'---------------------------------------------------------------
For Each R In ThisWorkbook.VBProject.References
If R.GUID = "{00020905-0000-0000-C000-000000000046}" Then
Exit Sub
End If
Next

ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{00020905-0000-0000-C000-000000000046}", _
Major:=0, Minor:=0

On Error GoTo 0

End Sub

You can remove the reference after, but not really neccessary.

RBS


"Newbie" wrote in message
...
Hello
As the Late Binding seems very slow, I would like to create a

reference
on
Word 2000 or Word 2003 (Several PCs are running Office 2000, some
others
are
running Office 2003.
How can i create a Reference for Microsoft Word 9.0 or for Microsoft

Word
11.0 (2000 and 2003)?
How to remove this Reference after the VBA procedure has done its

work?
Thanks










  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Dynamic References to Word?

Look in the registry although I suspect Bart set a reference and then
queried the reference with VBA.

from the immediate window as an example:

? thisworkbook.vbProject.references(2).Guid
{00020813-0000-0000-C000-000000000046}
? thisworkbook.VBProject.References(2).Name
Excel
? thisworkbook.vbProject.references(7).Guid
{00020905-0000-0000-C000-000000000046}
? thisworkbook.VBProject.References(7).Name
Word


--
Regards,
Tom Ogilvy

"Newbie" wrote in message
...
Thanks a lot RBS !
Very useful!
PS : Where can I found all the GUID such as
"{00020905-0000-0000-C000-000000000046} ???
Thanks again



"RB Smissaert" a écrit dans le message de
...
Yes, should work with all versions of Word as it does Major:=0,

Minor:=0.


To remove do this:

Sub RemoveWordReference()

RemoveReference "Word"

End Sub

Sub RemoveReference(strReference As String)

On Error GoTo ERROROUT

Dim R As Object

For Each R In ThisWorkbook.VBProject.References
If R.Name = strReference Then
ThisWorkbook.VBProject.References.Remove R
Exit Sub
End If
Next

ERROROUT:
On Error GoTo 0

End Sub

As it does Dim R As Object, rather than R as Reference you don't need a
reference to
Microsoft Visual Basic for Applications Extensibility.


RBS


"Newbie" wrote in message
...
Thanks a lot RB Smissaert !

1° - Does this procedure work if Word 2000 is installed as well with

Word
2003 installed?
2° - I need to remove the reference because another VBA procedure

(which
doesn't uses Word) hangs if the reference is still there!
Thanks again !

Newbie

"RB Smissaert" a écrit dans le

message
de
...
Sub ActivateWordLibrary()

Dim R

On Error Resume Next

'no need to carry on if the Word Object Library is already there
'---------------------------------------------------------------
For Each R In ThisWorkbook.VBProject.References
If R.GUID = "{00020905-0000-0000-C000-000000000046}" Then
Exit Sub
End If
Next

ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{00020905-0000-0000-C000-000000000046}", _
Major:=0, Minor:=0

On Error GoTo 0

End Sub

You can remove the reference after, but not really neccessary.

RBS


"Newbie" wrote in message
...
Hello
As the Late Binding seems very slow, I would like to create a

reference
on
Word 2000 or Word 2003 (Several PCs are running Office 2000, some
others
are
running Office 2003.
How can i create a Reference for Microsoft Word 9.0 or for

Microsoft
Word
11.0 (2000 and 2003)?
How to remove this Reference after the VBA procedure has done its

work?
Thanks










  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,452
Default Dynamic References to Word?

The way to get those GUID's is like this:
First set the reference manually in the VBE under Tools, References.
Then run code like this:


Sub GetLibraryGUID()

Dim c As Byte
Dim myCheck As Long
Dim P As Boolean
Dim rng As Range
Dim i As Byte

c = ActiveWorkbook.VBProject.References.Count

On Error Resume Next
Dim Message, Title, Default, T As Single
Message = "NUMBER ?" & Chr(13) & "________"
Title = " GET REFERENCES GUID ( 1 TO " & c & " )"
Default = c
T = InputBox(Message, Title, Default, 3500, 3500)

If Not T Mod 1 = 0 Then
Exit Sub
End If

If T < 1 Or T c Then
Exit Sub
End If

MsgBox "REFERENCE ( " & T & " ) NAME : " & _
ActiveWorkbook.VBProject.References(T).Name & vbCrLf & vbCrLf & _
"MAJOR : " & _
ActiveWorkbook.VBProject.References.Item(T).Major & _
vbCrLf & vbCrLf & "MINOR : " & _
ActiveWorkbook.VBProject.References.Item(T).Minor & _
vbCrLf & vbCrLf & _
"GUID ( " & T & " ) : " & _
ActiveWorkbook.VBProject.References.Item(T).GUID, , _
" REFERENCES GUID : ITEM " & T

myCheck = MsgBox(" PUT INFORMATION IN SHEET ?", _
vbYesNo, " GetLibraryGUID")

If myCheck = vbNo Then
Exit Sub
End If

If ActiveSheet.ProtectContents = True Then
P = True
ActiveSheet.Unprotect
Else
P = False
End If

Range(Cells(ActiveCell.Row, ActiveCell.Column), _
Cells(ActiveCell.Row + 3, ActiveCell.Column + 1)).Select

For Each rng In Selection.Cells
If Not IsEmpty(rng) Then
i = i + 1
End If
Next

If i 0 Then
myCheck = MsgBox(" OVERWRITE DATA IN THIS RANGE ?", _
vbYesNo, " GetLibraryGUID")
If myCheck = vbNo Then
Exit Sub
End If
End If

On Error Resume Next
ActiveCell.Value = "NAME :"
ActiveCell.Offset(1, 0).Value = "MAJOR :"
ActiveCell.Offset(2, 0).Value = "MINOR :"
ActiveCell.Offset(3, 0).Value = "GUID :"
ActiveCell.Offset(0, 1).Value = _
ActiveWorkbook.VBProject.References(T).Name
ActiveCell.Offset(1, 1).Value = _
ActiveWorkbook.VBProject.References.Item(T).Major
ActiveCell.Offset(2, 1).Value = _
ActiveWorkbook.VBProject.References.Item(T).Minor
ActiveCell.Offset(3, 1).Value = _
ActiveWorkbook.VBProject.References.Item(T).GUID

If P = True Then
ActiveSheet.Protect
End If

End Sub

That will give you all the information you need.
Keep in mind that you can do Major:=0, Minor:=0 to avoid a problem where you
specified a higher version than the one on the user's machine.


RBS


"Newbie" wrote in message
...
Thanks a lot RBS !
Very useful!
PS : Where can I found all the GUID such as
"{00020905-0000-0000-C000-000000000046} ???
Thanks again



"RB Smissaert" a écrit dans le message de
...
Yes, should work with all versions of Word as it does Major:=0, Minor:=0.


To remove do this:

Sub RemoveWordReference()

RemoveReference "Word"

End Sub

Sub RemoveReference(strReference As String)

On Error GoTo ERROROUT

Dim R As Object

For Each R In ThisWorkbook.VBProject.References
If R.Name = strReference Then
ThisWorkbook.VBProject.References.Remove R
Exit Sub
End If
Next

ERROROUT:
On Error GoTo 0

End Sub

As it does Dim R As Object, rather than R as Reference you don't need a
reference to
Microsoft Visual Basic for Applications Extensibility.


RBS


"Newbie" wrote in message
...
Thanks a lot RB Smissaert !

1° - Does this procedure work if Word 2000 is installed as well with

Word
2003 installed?
2° - I need to remove the reference because another VBA procedure
(which
doesn't uses Word) hangs if the reference is still there!
Thanks again !

Newbie

"RB Smissaert" a écrit dans le message

de
...
Sub ActivateWordLibrary()

Dim R

On Error Resume Next

'no need to carry on if the Word Object Library is already there
'---------------------------------------------------------------
For Each R In ThisWorkbook.VBProject.References
If R.GUID = "{00020905-0000-0000-C000-000000000046}" Then
Exit Sub
End If
Next

ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{00020905-0000-0000-C000-000000000046}", _
Major:=0, Minor:=0

On Error GoTo 0

End Sub

You can remove the reference after, but not really neccessary.

RBS


"Newbie" wrote in message
...
Hello
As the Late Binding seems very slow, I would like to create a

reference
on
Word 2000 or Word 2003 (Several PCs are running Office 2000, some
others
are
running Office 2003.
How can i create a Reference for Microsoft Word 9.0 or for Microsoft
Word
11.0 (2000 and 2003)?
How to remove this Reference after the VBA procedure has done its

work?
Thanks









Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Dynamic Cell References in Excel nogga Excel Discussion (Misc queries) 2 March 23rd 09 07:21 PM
Excel VBA, dynamic references [email protected] Excel Discussion (Misc queries) 6 November 26th 07 01:35 PM
dynamic cell references excel novice Excel Worksheet Functions 2 July 12th 05 02:59 PM
dynamic cell references in formulas CarolM Excel Programming 2 February 24th 05 07:49 PM
Dynamic Cell References jordanctc[_2_] Excel Programming 1 March 4th 04 04:08 PM


All times are GMT +1. The time now is 01:58 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"