Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello,
I have a VB6/MS Office Excel/Word VBA app configured in Win XP Office 2003. I am trying to make it compatible with earlier versions of Office-Office 97 on a Win 98 platform at present-and after researching have decided to try late binding. According to MS documentation, the application should update its references when opened in the earlier Office 97 version. It has done this for 6 of 8 references: except for the MS Word reference-it is still looking for Word 11.0 in the same location as was on the original, newer platform. Then it is also looking for the MS VBA Extensibility 5.3 file in the location of the original, newer platform as well. Does anyone have an idea how I can get my app to point to the correct 2 references per above? Also should the Extensibility reference be to the newer 5.3 version (vbe6ext.olb) which per KB article 269116 is a replacement for the earlier older type library (which I am guessing is vbeext1.olb as that is what I find on my Office 97 platform);and if so 1) should I add that to my installer application. 2) how do I get it to point to the correct location? Will I need to use code to locate and set the reference to the file? Thanks, blessings Van |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This bit of code works with old Word libraries.
Not sure about the VBA Extensibility 5.3. 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 'Will this work with any Word version from 97 upwards? '----------------------------------------------------- 'hopefully it will by doing Major:=0, Minor:=0 'Word 2002 is Major:=8, Minor:=2 'Word 2003 is Major:=8, Minor:=3 '----------------------------------------------------- ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{00020905-0000-0000-C000-000000000046}", _ Major:=0, Minor:=0 On Error GoTo 0 End Sub Note that this for an Excel .xla add-in and that is why it is ThisWorkbook and not ActiveWorkbook. RBS "VanS" wrote in message ... Hello, I have a VB6/MS Office Excel/Word VBA app configured in Win XP Office 2003. I am trying to make it compatible with earlier versions of Office-Office 97 on a Win 98 platform at present-and after researching have decided to try late binding. According to MS documentation, the application should update its references when opened in the earlier Office 97 version. It has done this for 6 of 8 references: except for the MS Word reference-it is still looking for Word 11.0 in the same location as was on the original, newer platform. Then it is also looking for the MS VBA Extensibility 5.3 file in the location of the original, newer platform as well. Does anyone have an idea how I can get my app to point to the correct 2 references per above? Also should the Extensibility reference be to the newer 5.3 version (vbe6ext.olb) which per KB article 269116 is a replacement for the earlier older type library (which I am guessing is vbeext1.olb as that is what I find on my Office 97 platform);and if so 1) should I add that to my installer application. 2) how do I get it to point to the correct location? Will I need to use code to locate and set the reference to the file? Thanks, blessings Van |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks for your response, RB. God bless
Van "RB Smissaert" wrote: This bit of code works with old Word libraries. Not sure about the VBA Extensibility 5.3. 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 'Will this work with any Word version from 97 upwards? '----------------------------------------------------- 'hopefully it will by doing Major:=0, Minor:=0 'Word 2002 is Major:=8, Minor:=2 'Word 2003 is Major:=8, Minor:=3 '----------------------------------------------------- ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{00020905-0000-0000-C000-000000000046}", _ Major:=0, Minor:=0 On Error GoTo 0 End Sub Note that this for an Excel .xla add-in and that is why it is ThisWorkbook and not ActiveWorkbook. RBS "VanS" wrote in message ... Hello, I have a VB6/MS Office Excel/Word VBA app configured in Win XP Office 2003. I am trying to make it compatible with earlier versions of Office-Office 97 on a Win 98 platform at present-and after researching have decided to try late binding. According to MS documentation, the application should update its references when opened in the earlier Office 97 version. It has done this for 6 of 8 references: except for the MS Word reference-it is still looking for Word 11.0 in the same location as was on the original, newer platform. Then it is also looking for the MS VBA Extensibility 5.3 file in the location of the original, newer platform as well. Does anyone have an idea how I can get my app to point to the correct 2 references per above? Also should the Extensibility reference be to the newer 5.3 version (vbe6ext.olb) which per KB article 269116 is a replacement for the earlier older type library (which I am guessing is vbeext1.olb as that is what I find on my Office 97 platform);and if so 1) should I add that to my installer application. 2) how do I get it to point to the correct location? Will I need to use code to locate and set the reference to the file? Thanks, blessings Van |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi VanS,
I am trying to make it compatible with earlier versions of Office-Office 97 on a Win 98 platform at present-and after researching have decided to try late binding. To use late binding, you do the following: 1. Remove any references to the object models, in Project References 2. Declare all object variables that refer to the object models As Object 3. Replace any constants defined in those object models with their numeric equivalents. 4. Use CreateObject("Appname") instead of 'New Appname' to create new instances of the objects. If you do that, you shouldn't have any references problems, as you won't have any references! Regards Stephen Bullen Microsoft MVP - Excel www.oaltd.co.uk |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks for your helpful response, Stephen. God bless
Van "Stephen Bullen" wrote: Hi VanS, I am trying to make it compatible with earlier versions of Office-Office 97 on a Win 98 platform at present-and after researching have decided to try late binding. To use late binding, you do the following: 1. Remove any references to the object models, in Project References 2. Declare all object variables that refer to the object models As Object 3. Replace any constants defined in those object models with their numeric equivalents. 4. Use CreateObject("Appname") instead of 'New Appname' to create new instances of the objects. If you do that, you shouldn't have any references problems, as you won't have any references! Regards Stephen Bullen Microsoft MVP - Excel www.oaltd.co.uk |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Stephen,
I tried to remove the Office references as you suggested which I was able to do for those from Office specifically, except for the Excel 11.0 Library-it gave an error message that the file was in use. My application runs in Excel. So do you have any suggestions on how I can get around this to remove this reference? Thanks Van "VanS" wrote: Thanks for your helpful response, Stephen. God bless Van "Stephen Bullen" wrote: Hi VanS, I am trying to make it compatible with earlier versions of Office-Office 97 on a Win 98 platform at present-and after researching have decided to try late binding. To use late binding, you do the following: 1. Remove any references to the object models, in Project References 2. Declare all object variables that refer to the object models As Object 3. Replace any constants defined in those object models with their numeric equivalents. 4. Use CreateObject("Appname") instead of 'New Appname' to create new instances of the objects. If you do that, you shouldn't have any references problems, as you won't have any references! Regards Stephen Bullen Microsoft MVP - Excel www.oaltd.co.uk |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Updating Absolute References | Excel Worksheet Functions | |||
Links/Cell References Not Updating | Excel Worksheet Functions | |||
Updating references in earlier versions | Excel Programming | |||
wraptext is not updating when using references to another cell | Excel Programming | |||
Updating remote references. | Excel Programming |