Solved

Calling macro in Word from Excel and saving change without save as dialogue box

Posted on 2013-10-22
5
598 Views
Last Modified: 2013-10-27
Good morning,

I have a macro, "hideone", in excel 2010 that is calling another macro in a word 2010 template document, "wordhideone". My problem is I want to save the changes that "wordhideone" is doing without having a save as box come up. Kinda like just hitting the save icon. Please let me know if you need additional information.

Sub hideone()
    Dim wdApp As Object, newDoc As Object
    Dim strFile As String
    Dim myDoc As String
    
    myDoc = "Risk Audit Report Template"

    strFile = ThisWorkbook.Path & "\" & myDoc & ".docm"

    '~~> Establish an Word application object
    On Error Resume Next
    Set wdApp = GetObject(, "Word.Application")

    If Err.Number <> 0 Then
        Set wdApp = CreateObject("Word.Application")
    End If
    Err.Clear
    On Error GoTo 0

    wdApp.Visible = False

    Set newDoc = wdApp.Documents.Add(strFile)

    Call wdApp.Run("hideone")
         
End Sub

Open in new window


Sub wordhideone()
' hideone Macro
'
ActiveDocument.Bookmarks("one").Range.Font.Hidden = True
ActiveDocument.Bookmarks("one_01").Range.Font.Hidden = True

      
End Sub

Open in new window


Thank you for your help and I hope you are having a good day.
0
Comment
Question by:EricdYoung
  • 3
  • 2
5 Comments
 
LVL 49

Expert Comment

by:Rgonzo1971
ID: 39591136
Hi.

pls try

Call wdApp.Run("hideone")
newDoc.Save
newDoc.Close False

Open in new window

Regards
0
 

Author Comment

by:EricdYoung
ID: 39592305
Rgonzo1971,

Just tried your recommendation. The word document is still showing and the save as box still opens up. Thank you for your suggestion, if you have any additional thought I'd very much like to read them.

Thank you :).
0
 
LVL 49

Accepted Solution

by:
Rgonzo1971 earned 500 total points
ID: 39603860
Hi,

pls use Open instead of Add

    Set newDoc = wdApp.Documents.Open(strFile)

    Call wdApp.Run("hideone")
    newDoc.Save
    newDoc.Close False

Open in new window

Regards
0
 

Author Comment

by:EricdYoung
ID: 39604437
Rgonzo,

That is perfect. This solves my issue. Below is the new codes being used for anyone who comes across this post.

in excel:
Sub hideone1()
    Dim wordApp As Object, newDoc As Object
    Dim strFile As String
    Dim myDoc As String
    
   
    myDoc = "Risk Audit Report Template"

    strFile = ThisWorkbook.Path & "\" & myDoc & ".docm"
    
     '~> Establish an Word application object
    On Error Resume Next
    Set wdApp = GetObject("Word.Application")

    If Err.Number <> 0 Then
        Set wdApp = CreateObject("Word.Application")
    End If
    Err.Clear
    On Error GoTo 0

   'Make Risk Audit Report Template.docm. no visible, so it runs in back ground.
   wdApp.Visible = False
   'Final code to open Risk Audit Report Template.docm in the back ground.
   Set newDoc = wdApp.Documents.Open(strFile)
   'runs macro
   Call wdApp.Run("hideone")
   'save Risk Audit Report Template.docm.
   newDoc.Save
   'closes Risk Audit Report Template.docm.
   newDoc.Close False
        
End Sub

Open in new window


in word:
Sub hideone()
'
ActiveDocument.Bookmarks("one").Range.Font.Hidden = True
ActiveDocument.Bookmarks("one_01").Range.Font.Hidden = True

End Sub

Open in new window

0
 

Author Closing Comment

by:EricdYoung
ID: 39604438
Keep on keeping on. TY
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article describes how to use the Send to Mail Recipient command. The instructions apply generally to Office 2007 and later versions, but Microsoft® Word 2013 was used for the specific steps and figures.  What is Send to Mail Recipient? Send…
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question