Free Microsoft Excel 2013 Quick Reference

Run-time error ‘429’ ActiveX component can’t create object

Hi guys,

I have been using an ActiveX worksheet for a couple of years without issue. I have just “upgraded” to Windows 7 and Excel 2010 and now the problems have started. I am slowly working my way through them but I’ve got to one which has me stumped.

I’ve posted the code below.

I get error 429 in the following code at the line starting:
Set objTWSControl = New cTWSControl

Public objTWSControl As cTWSControl
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

' create TWScontrol  and set it to global variable objTWSControl
Sub InitTWSControl()    'Dim objTWSControl As Excel.Application
    'Set objTWSControl = New Excel.Application
    If objTWSControl Is Nothing Then
        Set objTWSControl = New cTWSControl
    End If
    If objTWSControl Is Nothing Then
    End If
End Sub
Any help in solving this would be very much appreciated.


Post your answer or comment

comments powered by Disqus
I have set up a connection between Excel and Access to allow Excel's data to upload to Access automatically after a user run the the Excel Macro. It worked fine on the web server so I began setting up on a network PC and created a shortcut of the Excel file from web server onto the network PC. I ran the Excel Macro and it gave me an error message: "run-time error '429': ActiveX component can't create object". It highlighted the 3rd line. "appAccess.OpenCurrentDatabase..."

    Dim appAccess As New Access.Application 
    [B]appAccess.OpenCurrentDatabase ("Evh-webwwwRootEOGHWebDataEOGHWeb.mdb")[/B] 
    appAccess.DoCmd.RunMacro ("Excel2AccessMacro") 
End Sub 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
So, I tried to install RegSvr32 from commandline and it installed. Then I ran it again and still same error.

The web server is using Excel 2000 and Access 97. The network PC I am testing on is using Excel 2000 and Access 97. Access 2000 is not installed but having a problem completing the installion of Access 97. Dont know if that is the cause for "run-time error '429'...".
What are the other solution to this problem?

I am trying to generate excel report output from access by click of a button. Part of the code is as follows:
Dim lngColumn As Long
Dim xlx As Object, xlw As Object, xlc As Object
Dim DBS As DAO.Database
Dim rst As DAO.Recordset
Dim blnEXCEL As Boolean, blnHeaderRow As Boolean

blnEXCEL = False

'If we do not want the first row we set Header to false
blnHeaderRow = False

'Establish an EXCEL application object
On Error Resume Next
Set xlx = GetObject(, "Excel.Application")

If Err.Number <> 0 Then
Set xlx = CreateObject("Excel.Application")
blnEXCEL = True
End If
I worked on development on a server and worked fine. However when I have moved the code and database to the desktop of mine I am having
the following error in the line

Set xlx = GetObject(, "Excel.Application")
I cannot figure out how to fix this. I appreciate any help for resolution. Thanks.

Run-time error '429'
ActiveX component can't create object


I have a macro to send email from excel by attaching some files. But I am promted with "Run Time error 429 (ActiveX component can't create object)" error. I added the Microsoft outlook 14.0 library in reference too. But even after that also I am getting the error.

Could you please help.


I have some VBA code that in one portion of it an Outlook e-mail is created and the active workbook is attached and sent. This code used to work on Excel & Outlook 2003, but now in Excel & Outlook 2007 I'm getting the error:

Run-time error '429':
ActiveX component can't create object

and is stopping on the line

Set OutApp = GetObject(, "Outlook.Application")

FY If I comment out the Set OutApp... and If OutApp.... lines and uncomment the Set OutApp create object line, I still get the same error.

How do I fix this run-time error so the code will successfully run?
thanks in advance,

 Dim OutApp As Object
    Dim OutMail As Object
    Dim SigString As String
    Dim Signature As String

    'Set OutApp = CreateObject("Outlook.Application")
    Set OutApp = GetObject(, "Outlook.Application")
    If OutApp Is Nothing Then Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next
    With OutMail
        .To = ""
        .BCC = ""
        .Subject = ActiveWorkbook.Name
        .HTMLBody = "Please see the_attached workbook " & ActiveWorkbook.Name & "." & Signature
        .Attachments.Add ActiveWorkbook.FullName
    End With

    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing

Hey All,

I am using a 3rd party library to do some work in Office. Using their example code (exactly as they stated) I get "Error 429: ActiveX component can't create object". I get this error whenever I use the create object method, such as in the following code:

Set DTK = createObject("PureEdge.DTK") 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
I made sure to include a reference to the '.tlb' file that is acting as its library, and intellisense is functioning with their object model. While I'm presently trying to contact the developer, I thought that this might be a generic problem that others have run into before. Any suggestions? Thanks


Hi all,

I have very annoying problem and after hours spend looking for sollution I am really desperate. The problem is that I cant add slide to Powerpoint Presentation via Excel VBA.

First I create PPT app like this:

Set pptA = New PowerPoint.Application 
pptA.Visible = True 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
Then I add new presentation:


If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
Which all works, until I try to add slide:

ActivePresentation.Slides.Add 1, ppLayoutChart 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines

PowerPoint.ActivePresentation.Slides.Add 1, ppLayoutChart 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
when I get Error: 429 ActiveX component can't create object error
or when I try

pptA.ActivePresentation.Slides.Add 1, ppLayoutChart 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
I get Object varaible or With block variable not set

It is all the more frustrating because these commands DO WORK when I play the macro directly from PowerPoint Application VBA.
I even tried it on different version of MS Office 2003,2007,2010 and uninstalled them, reinstalled them etc., to no avail
I suspect it has to do something with registry or something. Please how can be this solved?

Thanks a lot.

additional info: this code I am running in office 2003. I tried other versions with respective codes though ( Slides.Addslide instead of Slides.Add). And also, other basic commands which work in Powerpoint VBA wont work via Excel VBA too.

Hi All,

I am trying to open a pdf file using VBA so that I can print it. However I am not able to open the file itself ( the code is given below) . I am getting 'Error 429', ActiveX component can't create object. Can you please help?
I know that I can use ThisWorkbook.FollowHyperlink method to open a pdf file, but then I don't know how to print a few pages in that file automatically

    Dim AcroApp1 As Acrobat.AcroApp 
    Dim AVDoc As CAcroAVDoc 
    Dim PDDoc As CAcroPDDoc 
    Dim IsSuccess As Boolean 
    Set AcroApp1 = CreateObject("AcroExch.App") 
    Set AVDoc = CreateObject("AcroExch.AVDoc") 
    AVDoc.Open "c:windowsdesktopback_cover.pdf", "" 
    Set PDDoc = AVDoc.GetPDDoc 
    AVDoc.PrintPages 1, 1, 2, True, True 
     'Close the PDF
    AVDoc.Close True 
    Set PDDoc = Nothing 
    Set AVDoc = Nothing 
    Set AcroApp1 = Nothing 
    Exit Sub 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines


Hi All,

I receive a: "Run-time Error '429'. Activex component can't create object" error when I try to open a workbook when another workbook is open. The debug buttons appears to identify this line of code as my error:

Private Sub Workbook_Open()
End Sub
I suspect the issues has to do with Excel looking at the already open workbook (since its the active workbook) for the Form to run. Any help would be greatly appreciated.

Hi there

I created macro which works fine (Excel XP). The macro is run by the click on the button. However, when I sent this file to my friend in Australia (Excel 2003), he receive the error message
"Run-time error '429': ActiveX component can't create object"
we tried the solutions mentioned at the Microsoft web sites but no success
Can anybody help me with that? Thanks in advance


I need to get some data from the serial port into an excel sheet, so it seems like mscomm is a natural solution. On one of my XP boxes it seems to work fine, but on another I keep getting "run time error 429, activex component can't create object"

yes, the mscomm32.ocx is where it should be
yes, it is referenced
yes, it is in the registry
yes, it works on one PC and not another....

yes, another application that also uses mscomm.ocx can be run on the PC with the problem, so the .ocx file is not corrupted in anyway.

all I am doing is:

Dim myComm As MSComm
Set myComm = New MSComm

and it bombs....

To the optimist, the glass is half full.
To the pessimist, the glass is half empty.
To the engineer, the glass is twice as big as it needs to be.

Hi guys,

I'm using the Workbook_Open event to load a userform named StartScreen. The code is simple and looks like this:
Private Sub Workbook_Open()
  With StartScreen
  End with

End sub
This code works fine until I close the file using the following code:
That code closes my file but the Excel application is still open (but no worksheets).  If I then click on my file to open it
again, I get the Run Time Error 429: ActiveX component can't create object.  The "With StartScreen" line of code is
highlighted when I try to Debug, because the object variable or with block variable is not set.  

So my question is why would the userform show without a problem until I close the workbook and reopen, and how do I fix this so the error does not occur?

Thanks for your help,


VBScript code snippet below is being used in an ASP page but the call to GetObject never attaches to a running instance of Excel. Since visible property is set to True, I can see the instances accumulate in the TaskBar each time the ASP page is called, so there are obviously instances to attach to.

Set excelApp = Server.GetObject(,"Excel.Application") 
If (err  0) Then 
    Set excelApp = Server.CreateObject("Excel.Application") 
End If 
excelApp.UserControl = True 
excelApp.Visible = True 
excelApp = Nothing 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
GetObject errors out with the following error:

Error - Number:429 Source:Microsoft VBScript runtime error Description:ActiveX component can't create object

Any ideas why?

Have tried everything I can think of and every permutation and example I have found online while researching this. Any ideas?

Running Excel 2003 on IIS 6 and Windows Server 2003.

Brian Barnett

PS. If this post is off topic for this forum, any suggestions where I could ask it?


(Please let me know if this is /is not the correct forum;since it
deals with excel programmming ,i thought this would be a good place to
start with.The sitaution that i am attempting to portray is really
vague ,please excuse me for any incomplete data)

Application Aim:-

I have an application coded using vb6.0 and it uses excel to do some
formatting on input excel sheets.This is done through ole automation.I
use late binding i.e

createobject("excel.application") to get a valid object of
excel.Following this line i have a error trapping code reading

if err.number0 then print error message.

Assume that the above application is in system A.In system A there is
a folder that is shared and mapped as F (any logical drive
names).There is a batch file which calls this application against
input files in the shared folder.The application exists as an exe in a
path inside this shared folder

There are 2 more systems System B and System C, which map drive F to
the shared folder in system A.System A holds many batch files which
call the application against different set of input files.

The situation that i faced is that system A is executing a batch file
and so are systems B and C(against different input files).It may be
possible that some of the input files are common(this stage of usage
doesn't matter as the error occurs much before this.

My problem is that the batch file involving the application(against
one set of input files ) flags the error "activeX component can't
create object error" and exits since no further action is possible.

How is this possible.When i tried to reproduce this situation with no
system B or C connected or logged on with the same user id that was in
system A, i couldn't. There was no such problem.

Is it really possible to throw some light on what is happening.I guess
there is violation of some access (max limit ).The following microsoft
KB article gives vague reason for this ( based on the error


The last probable cause listed seems to fit but i would like to know
how so that i can avoid situations like this.

With Regards

I've trawled through everything I can find on this and no joy. I think it is
specific to some security change in Excel 2003.

I have a Winsock control - mswinsck.ocx - installed and fully registered on
an XP box running Excel 2003 SP1. A project reference is set to Microsoft
Winsock Control 6 (sp6). This is simply 2 lines of code that run fine on a
different Office XP box:

Dim WS as Winsock
Set WS = New Winsock 'error here
Result: Error 429, ActiveX component can't create object.

There is no compile problem with the code, so it's not a missing reference
per se.

Does anyone have any ideas what is causing this and how I can get it to

Further thoughts:
I started using the winsock control because MS has changed something in a
windows api call: URLDownloadToFile such that it will no longer allow dll,
ocx or exe files to be downloaded. No mention of this change anywhere that I
can find. Funnily enough it is fairly easily circumvented, but I'm sure
there are people wondering what's gone wrong with code that's worked for

Second reason for using the winsock: it allows me to show the actual
progress of a file download and cancel out if things are going wrong. The
api call above is totally synchronous and can cause problems. I have it
working very nicely in XP, and if I can find a solution to this problem will
post it since it's quite useful and I've seen a lot of winsock questions in
the archives.

In the MCP excel managed newsgroup all I get is a total cop out from MS
support referring me back here. I've now tried posting there twice and it
has been no help whatsoever. The minute you mention a problem making code
work they deny responsibility and assume there's an error in the code. All I
can say is that it's pretty hard to find an error in two lines that work on
one box but fail on another.

Robin Hammond

All -

I have code tied to a button on my worksheet that saves the file to the users desktop, then emails the workbook to another person. This works fine on my machine (XP, 2007) and several other people's machines.

However, some people keep getting the "Run-Time error 429: ActiveX component can't create object" error. It is getting hung up on the following line: "Set OutApp = CreateObject("Outlook.Application")".

All of these people have Outlook and it is open when they run this. Here is my code:

Sub Email()
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
With OutMail
.To = ""
.CC = ""
.BCC = ""
.Subject = "Subject"
.HTMLBody = "Body"
.Attachments.Add ActiveWorkbook.FullName
.Send '
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub

I did post this question on Ask Yahoo at but have received no responses (except for spam).

I have searched for answer to this for awhile now and I am coming up empty. Any thoughts on what this could be would be appreciated.

BTW: this is my first post here, so my apologies if I have omitted valuable information. Please let me know and I give you whatever I can.



I've downloaded DsoFile.exe (to access file attributes via code) from
Microsoft and installed it in a folder on my server.
I wrote some code in a Excel procedure that works great on my computer,
after going to Tools > References..., and enabling 'DS: OLE Document
Properties 1.4 Object Library'.

When I open the file on another computer (All Windows/OfficeXP fully
patched/service packed) I get an ActiveX "Compenent can't create object"
(429) error when trying to initiate a DSO object with the following code:
Set DSO = New DSOleFile.PropertyReader

I check the reference to 'DS: OLE Document Properties 1.4 Object Library'
and it is checked and showing the correct path to the server. Again, this
works fine on the computer the file was created on. I'm stuck.

Any help is greatly appreciated.
This procedure needs to run on everyone's computer.


I have a code in place to send the active file to a given address.

I have one user who keeps getting an error when she tries to run the macro.

Here's the code:
'Send the file in an Outlook message with formletter:
Dim myOutlook As Object
Dim myMailItem As Object
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
fName = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
With otlNewMail
.To = ""
.Subject = "New box list for review - " & ActiveWorkbook.Name
.Body = "Please review the following list of new boxes to be picked up." & Chr(13) & Chr(13)
.Attachments.Add fName

End With

Set otlNewMail = Nothing
Set otlApp = Nothing
Set otlAttach = Nothing
Set otlMess = Nothing
Set otlNSpace = Nothing
End Sub
The error that is generated reads: "Run-time error 429: ActiveX component can't create object".

I am entirely self taught (thanks in greatest part to this board) and I have really no understanding of ActiveX controls.

I notice that this problem only exists for 1 in over 100 users, so I think it is specific to the settings on her PC.

Any advice would be much appreciated so I can get the code to work for her.


I need to use the PrivateProfileString() function contained within the
'System' object to read/write an .ini file. I have referenced the relevant
Word object library to Excel but the function only works whilst Word is open.
I get the following (common) error:

Run-time Error 429; ActiveX component can't create object.

Can I actually read/write an .ini file using VBA in Excel? Would be greatful
for any help.


got excel 2010 trying to open .doc documents from a folder and copy word form values across. Worked swell when using excel/word 2002 but doesn't work when I'm on excel 2010, reference in the vba project had self updated to word library 14 from word library 12.

how do I fix it?

Runt-time error '429' Activex component can't create object on this line of code
Current code is this

    Dim fso As FileSystemObject
    Dim wdapp As Object
    'Dim wdapp As Word.Application

'Otherwise use a new instance
If wdapp Is Nothing Then
    Set wdapp = CreateObject(Word.Application)
    Set wdapp = GetObject(Word.Application)
End If

Can someone tell the the library reference necessary for


If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
I can't find anything that looks like "Windows Scripting Library". I tried Microsoft WMI Scripting V1.2 Library, but still get "Run-time error 429: ActiveX component can't create object."

Thanks in advance.

I'm using Excel VBA to pass data to and from an external application, which also supports VBA coding. I'm no expert but most of the time I have managed to work out the steps using a basic process of :-


Private Function_A(passed_param)
Dim test As Object
Set test = CreateObject("MWS.Farfield")
test.command "passed_param" 'blah blah extra bits using third party object language.
End Sub

However, I have found an object in the third party code that doesn't open correctly using this method, and I get an error in the Excel VBA editor of
"Run Time error '429' ActiveX component can't create object".
I'm not 100% of what the problem is, but based on my previous weeks work I am guessing the problem lies with the third-party code and not Excel. So, I need to try and find a way round it, so I am trying to use another third party command in Excel, to do the same job. The syntax in Excel is :-

Object.RunMacro "path to macro"

Which works, but I can't work out how to pass parameters from Excel into the macro in the same was as calling a function.

If anyone understand what I am trying to say, and might have a few guesses as to how I could pass variables into a macro, in an external piece of software apart from Excel I'd be grateful. I suspect it will be impossible without knowing the external software inside out, but I thought I'd give it a go :-0

Hi, I have multiple questions and I have no experience with VBA so please take that into account if you can answer them.

1. I am trying to use the code below in an activeX control button to send an email to mulitple people where the addresses will be in two particular cells. It is failing with a run time error "'429' ActiveX component can't create object" with the highlighted line below being the problem in the degugger. Any ideas why?

    Dim OutlookApp As Object 
    Dim Mess As Object, Recip As String 
    Recip = [C3].Value & "; " & [C4].Value 
    [COLOR="Red"]Set OutlookApp = CreateObject(" Outlook.Application")[/COLOR] 
    Set Mess = OutlookApp.CreateItem(olMailItem) 
    With Mess 
        .Subject = "Subject" 
        .Body = "Body" 
        .Recipients.Add Recip 
    End With 
End Sub 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
I have also asked the first question in this thread (but it is four weeks old):

My second question and the main reason I started this thread is that I want the subject line in the email to be the contents of cell 'Employment Offer'!C3 and "Employment Offer". So it would look like:

anyname Employement Offer

Is this possible?

Here is the file:


I had a macro written that after a bit of formatting and data verification handily moved a group of columns from an Excel sheet to an Access database (mdb format) and has been running fine for the past six months I've used it, but this week we've been migrated from XP & Office 2007 to Windows 7 & Office 2010 and my macro no longer runs:

Set db = OpenDatabase("" & DBloc & "" & DBname & ".mdb") 
Set rs = db.OpenRecordset("nwdata", dbOpenTable) 
r = 2 
Do While Len(Range("A" & r).Formula) > 0 
    With rs 
        .Fields("UserGuid") = Range("A" & r).Value 
        .Fields("InvolvedPartyId") = Range("C" & r).Value 
        .Fields("CallOutcomeID") = Range("D" & r).Value 
        .Fields("CallOutcomeDate") = Range("E" & r).Value 
    End With 
    r = r + 1 
Set rs = Nothing 
Set db = Nothing 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
Using this code and a standard template mdb file all my data would move across, now though I get an error:
Run-time error '429':

ActiveX component can't create object hitting debug highlights the second line of the DB write out code:

 db = OpenDatabase("" & DBloc & "" & DBname & ".mdb") 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
DBloc is the filepath to the DB worked out earlier in the code, and DBname is from a msgbox form that prompts the user at the beginning of the macro's run. Grabbing my old laptop the exact same files run without issue so I know nothing's been changed in the code by anyone else (not that anyone should have access to anyway) and can be fairly certain it's the change in platform or office suite, the latter I'm leaning towards.

I've done some googling but the error seems to be too vague to help (surprising being an MS Product) and other searches based on the difference haven't been fruitful, such as changing from using Microsoft DAO 3.6 Object Library to Microsoft Access 14.0 Object Library.

Any help would be greatly appreciated - I'm not great at macro's, pretty much self taught but they've taken tasks that used to take hours down to push button's so I'd like them to keep working!



I have AVAYA CenterVu Supervisor 9.0 Application running and I want to
get that application as an object in my Excel VBA coding and run AVAYA
reports through Excel VBA.

Dim cvsApp As Object
Set cvsApp = GetObject("CVSUP.cvsApplication")

The above shows Automation error: Invalid Syntax with END and DEBUG

Dim cvsApp As Object
Set cvsApp = GetObject(, "CVSUP.cvsApplication")

The above shows Run-time error '429' ActiveX component can't create

If I use Create Object like

Dim cvsApp As Object
Set cvsApp = CreateObject("CVSUP.cvsApplication")

it works fine

I don't want to use create object, I will manually login to AVAYA. What
is the correct syntax?

More info:
I have imported and checked all requied references in
Tools->References. They all are fine.

If I right click on the .exe file of AVAYA software and click
properties, I get the following info

Type of file: Application
Description: cvsApplication Component
Location: C:Program FilesAvayaCentreVu Supervisor 9.0

Hello again,

Below is some VBA (which I know is a mess).

At the moment, I'm having difficulty in getting it to open Word as I'm getting error 429 (ActiveX component can't create object) but not all the time (don't know why).

When it does open the word document, it's saying that the bookmark doesn't exist (it's the one called "Results" when I know damned well it does. I'm pretty sure the rest of the code wont work but I'll get round to that some year or other...

Anyone know why it's not opening or finding bookmarks (and please don't laugh at my code attempts - or at least don't le me hear you laughing!)

Private Sub CommandButton1_Click()
'set up word

Dim wdapp As Object
Set wdapp = GetObject(, "Word.Application")
wdapp.Documents.Open ""

Range("'test'!b4", Range("'test'!b4").End(xlToRight).End(xlDown)).Copy

With wdapp.Selection
wdapp.Selection.GoTo What:=wdGoToBookmark, Name:="Results"

.PasteSpecial xlPasteValues
End With

Dim RNG As Range
Set RNG = Union(Range("'Start here!'!B5:E10").SpecialCells(xlCellTypeConstants, 2), _
                 Range("'start here!'B5:E10").SpecialCells(xlCellTypeFormulas, 2))

With wdapp.Selection
wdapp.Selection.GoTo What:=wdGoToBookmark, Name:="Cust_details"
.PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With

Range("'start here!'!b5").Copy

With wdapp.Selection
wdapp.Selection.GoTo What:=wdGoToBookmark, Name:="Cust_name"
.PasteSpecial xlPasteValues
End With

Range("'start here!'!c18").Copy
With wdapp.Selection
wdapp.Selection.GoTo What:=wdGoToBookmark, Name:="Date"
.PasteSpecial xlPasteValues

wdapp.Selection.GoTo What:=wdGoToBookmark, Name:="Date_para"
.PasteSpecial xlPasteValues
End With

Range("'start here!'!:c21").Copy

With wdapp.Selection
wdapp.Selection.GoTo What:=wdGoToBookmark, Name:="Desc_equip_used"
.PasteSpecial xlPasteValues
End With

Range("'start here!'!:c19").Copy

With wdapp.Selection
wdapp.Selection.GoTo What:=wdGoToBookmark, Name:="Order_ref"
.PasteSpecial xlPasteValues
End With

Range("'start here!'!:H15").Copy

With wdapp.Selection
wdapp.Selection.GoTo What:=wdGoToBookmark, Name:="Our_ref"
.PasteSpecial xlPasteValues
End With

End Sub
Have sorted the opening and bookmark problem now.

No luck finding an answer? You could always try Google.