Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.



Watchmaker Wizard
2407 posts

Uber Geek
+1 received by user: 57

Subscriber

Topic # 104707 20-Jun-2012 17:20 Send private message

I'm trying to put together a template file that when loaded into Word (2010) via startup, will add a custom tab to the ribbon with some shortcuts to open a selection of templates at a fixed location. I can't for the life of me work out how to get Word to actually open a file via a macro command.

The VBA script I'm trying to use is:

Sub OpenFile1()
Dim wdApp as Object
Set wdApp = CreateObject("Word.Application")  - Probably redundant, makes no difference
wdApp.Visible = True
wdApp.Documents.Open Filename:="Filepath+name"
End Sub

The CustomUI.xml code that I'm trying to call it with is:

<button id="button1" label="Open File" size="normal" imageMso="Image" onAction="OpenFile1" />

Any ideas what I'm doing wrong?

I'm trying to make this fairly portable so we can give it to a few people so they've got a quick & simple way of getting at the right set of templates.  It looks like it should be fairly easy, but I just get an "invalid property assignment" error.





Create new topic

gzt

4595 posts

Uber Geek
+1 received by user: 244

Subscriber

  Reply # 644056 20-Jun-2012 22:34 Send private message

does your vba script work by itself?



Watchmaker Wizard
2407 posts

Uber Geek
+1 received by user: 57

Subscriber

  Reply # 644159 21-Jun-2012 10:28 Send private message

It works by itself, so I must be calling it incorrectly in the CustomUI code.






Watchmaker Wizard
2407 posts

Uber Geek
+1 received by user: 57

Subscriber

  Reply # 644178 21-Jun-2012 11:14 Send private message

It worked when I added a separate function as a "control" and called the actual open function from that:

Sub OpenFile2()
Dim wdApp As Object
Dim wdDoc As Object
Dim sFname As String
sFname = "C:\Templates\Doc1.docx"
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Add(sFname)
End Sub

Sub BtnPress(control As IRibbonControl)
Call OpenFile2
End Sub


Now I just need to tidy things up and I should be able to get a nice tidy menu system going.




Create new topic




Twitter »
Follow us to receive Twitter updates when new discussions are posted in our forums:



Follow us to receive Twitter updates when news items and blogs are posted in our frontpage:



Follow us to receive Twitter updates when tech item prices are listed in our price comparison site:





Trending now »

Hot discussions in our forums right now:

Snap have failed our company!
Created by dafman, last reply by kornflake on 21-Oct-2014 23:04 (23 replies)
Pages... 2


Spark Socialiser
Created by freitasm, last reply by Flickky on 21-Oct-2014 22:10 (21 replies)
Pages... 2


Another Trade Me competitor: SellShed
Created by freitasm, last reply by jonathan18 on 21-Oct-2014 23:12 (32 replies)
Pages... 2 3


American legal jurisdiction in New Zealand
Created by ajobbins, last reply by gzt on 21-Oct-2014 14:58 (30 replies)
Pages... 2


Overcharged by Slingshot for months - warning to existing customers
Created by dusty42, last reply by richms on 21-Oct-2014 19:15 (27 replies)
Pages... 2


Why would Suresignal calls be worse quality than non-Suresignal calls from the same location?
Created by Geektastic, last reply by froob on 21-Oct-2014 08:21 (41 replies)
Pages... 2 3


Just bought a TiVo online. No wireless adaptor. Will a standard one work? Or do I need the TiVo one ?
Created by Limerick, last reply by graemeh on 20-Oct-2014 16:03 (11 replies)

Spark Socialiser and new plan
Created by saeran, last reply by eXDee on 21-Oct-2014 21:52 (10 replies)


Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.

Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.