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.
Buying anything on Amazon? Please use the Geekzone Amazon aff link.




Watchmaker Wizard
2443 posts

Uber Geek
+1 received by user: 58

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

4842 posts

Uber Geek
+1 received by user: 296

Subscriber

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

does your vba script work by itself?



Watchmaker Wizard
2443 posts

Uber Geek
+1 received by user: 58

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
2443 posts

Uber Geek
+1 received by user: 58

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:

Am I going down? App for the fearful of flying.
Created by networkn, last reply by Sideface on 29-Jan-2015 23:07 (47 replies)
Pages... 2 3 4


Which canon flash?
Created by esawers, last reply by timmmay on 30-Jan-2015 16:15 (19 replies)
Pages... 2


Bad lower back.
Created by TimA, last reply by jimbob79 on 30-Jan-2015 16:01 (77 replies)
Pages... 4 5 6


Police Speed Campaign - Summer 2014/2015
Created by nzkiwiman, last reply by scuwp on 1-Feb-2015 21:48 (188 replies)
Pages... 11 12 13


New to VDSL and wondering if I can change where the modem connects in the house
Created by Valcor, last reply by quickymart on 29-Jan-2015 20:59 (17 replies)
Pages... 2


Help recognize big black spider nope
Created by solival, last reply by heylinb4nz on 30-Jan-2015 13:34 (16 replies)
Pages... 2


New Ford Owner - Looking for Service options
Created by maxeon, last reply by maxeon on 30-Jan-2015 22:11 (14 replies)

Windows 10 News - 22 Jan
Created by Regs, last reply by semigeek on 30-Jan-2015 13:34 (134 replies)
Pages... 7 8 9



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.