Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 12-22-2011, 03:56 PM
macropod's Avatar
macropod macropod is offline Let Office Object Library 14.0 work in Office 2007 Windows 7 64bit Let Office Object Library 14.0 work in Office 2007 Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,467
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Hi tinfanide,

It's a bit more involved than simply unchecking the "Microsoft Word Object Library 14.0" reference. See: http://support.microsoft.com/default...b;EN-US;245115

Amongst other things, you'd change all the Word-specific definitions to 'Object':
Dim wrdApp As Object, wrdDoc As Object, wrdTbl As Object, wrdTpl As Object
and you'd change:
Dim rng as Word.Range
to:
Dim rng as Range


or, better still:
Dim wdRng As Range

You might also need to change some Word-specific parameters to the values. The code will throw an error on any affected lines. Simply replace those parameters' names with their numeric values.
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
  #2  
Old 12-22-2011, 09:08 PM
tinfanide tinfanide is offline Let Office Object Library 14.0 work in Office 2007 Windows 7 64bit Let Office Object Library 14.0 work in Office 2007 Office 2010 32bit
Expert
Let Office Object Library 14.0 work in Office 2007
 
Join Date: Aug 2011
Posts: 312
tinfanide is on a distinguished road
Default

Quote:
Originally Posted by macropod View Post
Hi tinfanide,

It's a bit more involved than simply unchecking the "Microsoft Word Object Library 14.0" reference. See: http://support.microsoft.com/default...b;EN-US;245115

Amongst other things, you'd change all the Word-specific definitions to 'Object':
Dim wrdApp As Object, wrdDoc As Object, wrdTbl As Object, wrdTpl As Object
and you'd change:
Dim rng as Word.Range
to:
Dim rng as Range
or, better still:
Dim wdRng As Range

You might also need to change some Word-specific parameters to the values. The code will throw an error on any affected lines. Simply replace those parameters' names with their numeric values.
Yes, but the problem is
Code:
Dim wrdTbl As Table
Dim wrdRng As Range
those only work in Word VBA. But if I want to automate Word in Excel,
please see the comments below.

When I need to not set reference to any object library so that users can use my macro any version of the Office applications

(in my case, I write the macro in 2010, but want my users to run in 2007 and I don't want to start everything in Word Object Library 12.0)

Code:
Sub setTableBorders()
 
Dim wrdApp As Object
Set wrdApp = CreateObject("Word.Application")
Dim wrdDoc As Object
Set wrdDoc = wrdApp.documents.Add
wrdApp.Visible = True
 
' Dim wrdTbl As Table doesn't work in Excel VBA
Dim wrdTbl As Object
Set wrdTbl = wrdDoc.Tables.Add(Range:=wrdDoc.Range, _
NumRows:=4, _
NumColumns:=1)
  
With wrdTbl
For r = 1 To 4
    .Cell(r, 1).Range.Text = ActiveSheet.Cells(r, 1).Value
Next r
' Starting from this line, it does not work
' Application-defined or Object-defined error
    .Borders(wdBorderTop).LineStyle = wdLineStyleSingle
    .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle
    .Borders(wdBorderBottom).LineStyle = wdLineStyleSingle
    .Borders(wdBorderRight).LineStyle = wdLineStyleSingle
    .Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle
    .Borders(wdBorderVertical).LineStyle = wdLineStyleSingle
End With
 
End Sub
Many thanks for your illustration. Just feel sad that I can hardly find the late binding model (Word automation in Excel object library model) online and that's why I don't know how to style borders in Excel for word (no problem when I set Word borders in Word VBA)

Book1.xlsm
Please see the attachment.
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Let Office Object Library 14.0 work in Office 2007 Excel VBA: How to add a reference to Microsoft Word Object Library? tinfanide Excel Programming 7 12-12-2011 05:21 AM
Problem: object library invalid or contains references to object definitions aligahk06 Office 0 08-19-2010 12:29 PM
Using Office Premium 2007 Trial with Already Installed Office Home and Student 2007 SME Office 1 10-07-2009 06:51 AM
Let Office Object Library 14.0 work in Office 2007 Office 2007 Professional shipped from US, will it work on UK Windows PC's ? OfficeDude Office 3 08-16-2009 02:11 PM
Access Object library 10 Gyto Office 0 10-09-2008 09:04 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 06:51 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft