Solved

Problem saving the active document under a different name in Word with VBA

Posted on 2013-01-31
5
1,120 Views
Last Modified: 2013-02-01
Running VBA in Word (2010) under Windows 7, I have a VBA program that tries to save the active document under a different name than its current name. The active document can be a *.doc file or a *.docx file. We set the Boolean OldFormat to True if it is in the Word97 *.doc format. Otherwise the document has been generated with Word 2007 or later.
     Here is the code that is giving me problems:

     If OldFormat Then
            ActiveDocument.SaveAs2 FileName:=Path & TargetName, FileFormat:= _
                  wdFormatDocument, AddToRecentFiles:=True
      Else
            ActiveDocument.SaveAs2 FileName:=Path & TargetName, FileFormat:= _
                  wdFormatXMLDocumentMacroEnabled, AddToRecentFiles:=True
      End If

     With a *.doc file, OldFormat = TRUE, so if we step through the code above, control goes to the first of those two “ActiveDocument.SaveAs2” commands. This code works perfectly on my computer, but on another computer I get an error 438 message: “Object does not support this property or method” at that point. The Path appears to be correct, the TargetName is a valid filename, WdFormatDocument = 0.
     What could be causing the 438 error?

jra
0
Comment
Question by:JohnRobinAllen
  • 2
  • 2
5 Comments
 
LVL 76

Accepted Solution

by:
GrahamSkan earned 500 total points
Comment Utility
I get that error on my computer if I use SaveAs2. That is because I only have Word 2007. To run under all releases from Word 97 onwards, use SaveAs.
0
 
LVL 59

Expert Comment

by:Chris Bottomley
Comment Utility
Can you confirm if the other computer is also 2010 ... if it's 2007 then see Grahams comment.  If it is a 2010 install then it may be the path at fault.

Chris
0
 

Author Comment

by:JohnRobinAllen
Comment Utility
I'll confirm that information after the other party is awake. I'm typing this at 7:30 a.m. in Priddis, Alberta (Mountain time) and he is in Seattle (Pacific Time, 6:30 a.m.), so it is too early to reach him now.
     I had the same results with another friend in Winnipeg (Central Standard Time, 8:30 a.m.), but I cannot contact him until others here are awake too.
          I strongly suspect that Graham Skan's solution will solve the problem and that the path is correct.
     There is another problem that I may pose in a separate question: the person in Seattle is having trouble reading a variable stored in the document, but I will save the details for later (not with this query). His computer reads the variable but then it fails a test in an "If" statement. If I cannot find out what is wrong with that, I'll give full details in another query.
0
 
LVL 76

Expert Comment

by:GrahamSkan
Comment Utility
JRA,
SaveAs2 accepts an extra argument - CompatibilityMode. If you don't need to use it, you can stick to the old SaveAs method.

It sounds interesting, but I have a feeling that you will be able to solve your Seattle contact's problem yourself.
0
 

Author Closing Comment

by:JohnRobinAllen
Comment Utility
This is the solution. However G.S. supplies further useful information about the command in a message below.

Once again, many thanks to GS and to EE!
Appreciation also to CB. He could have found a cause of the problem but the problem lay elsewhere.

j.r.a.
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Nice table. Huge mess. Maybe this was something you created way back before you figured out tabs or a document you received from someone else. Either way, using the spacebar to separate the columns resulted in a mess. Trying to convert text to t…
This is written from a 'VBA for MS Word' perspective, but I am sure it applies to most other MS Office components where VBA is used.  One thing that really bugs me is slow code, ESPECIALLY when it's mine!  In programming there are so many ways to…
This video shows the viewer how to set up and create Footnotes in their document. Click on the References tab: Select "Insert Footnote": Type in desired text:
This video shows and describes the main difference between both orientations in Microsoft Word. Viewers will understand when to use each orientation and how to get the most out of them.

772 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now