Solved

Find and replace in a MS Word Document from Access, without any code in the word docs

Posted on 2004-10-18
10
489 Views
Last Modified: 2008-01-16
heya again guys

I have a form that opens a Word document that the user chooses from a list of about 100 or so possible standard letters they send out.  All of the documents have the fields that the database can give them set up as @App_first @App_Last @app..... etc etc

what I need to know is what code to put in the following blank spot:

Function CreateDoc()
Dim myWord As Word.Application
Dim myDoc As Word.Document
Set myWord = New Word.Application
Debug.Print docToOpen
Set myDoc = myWord.Documents.Open(docToOpen)
myDoc.SaveAs ccSaveDir
myDoc.SaveAs SaveDir
myWord.Visible = True

'INSERT FIND AND REPLACE CODE HERE LATER

Set myDoc = Nothing
Set myWord = Nothing
End Function

I have all the needed variables stored that have to go in it, I just need the way to get them accross, I've tried but can't quite seem to get it right
0
Comment
Question by:K_man
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
10 Comments
 
LVL 34

Expert Comment

by:flavo
ID: 12342399
myDoc.selection.wholestory
With myDoc.selection.Find
         .Text = "A"
        .Replacement.Text = "B"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
end with

Hope this helps

Dave
0
 
LVL 34

Expert Comment

by:flavo
ID: 12342408
and 1 more line

myDoc.Selection.Find.Execute Replace:=wdReplaceAll
0
 

Author Comment

by:K_man
ID: 12342537

I get an "Object doesn't support this property or method on the myDoc.Selection.wholestory line

looks so very promising tho
0
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.

 
LVL 34

Expert Comment

by:flavo
ID: 12342547
ok, ill take a proper look at it.

Dave
0
 

Author Comment

by:K_man
ID: 12342572
ah, myDoc was my document object, myWord was the word.application
I really should start hitting ctrl space more

and thank you ! it works

just one more thing though, how do I stop it from having the whole document selected when its finished ?
0
 
LVL 34

Accepted Solution

by:
flavo earned 500 total points
ID: 12342583
ok got it

With oWord.ActiveWindow.Selection.Find
         .Text = "Test"
        .Replacement.Text = "wooooo!!!!"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
End With

oWord.Selection.Find.Execute Replace:=wdReplaceAll
0
 
LVL 34

Expert Comment

by:flavo
ID: 12342602
you can select the first word, not sure about no selection sorry

oWord.ActiveWindow.Selection.Words(1).Select
0
 

Author Comment

by:K_man
ID: 12342618

On a slightly different note..

There are about eh.. something like 20 things I need to check for so I'm goign to need to make it a function, Is it better to pass the word object through to the function or to declare the word object as a global, or can I put the function itself inside the sub that already has the declaration (I could do that in Jade but not sure about Access)
0
 
LVL 34

Expert Comment

by:flavo
ID: 12342654

Hmmm..  Not too sure what would be faster, need to do some tests, but im guessing that declaring the word object as a global would use less memory.
0
 

Author Comment

by:K_man
ID: 12342946
you the man

I just ended up passing it

I'll give you the points for this then post part two, don't go anywhere
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Need to programmatically read emails from Outlook using MS Access VBA 19 104
vb.net dbnull syntax 1 58
MS Access - Autofill field with item description 6 53
Menus 6 57
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

738 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