Shamil Salakhetdinov
shamil at smsconsulting.spb.ru
Thu Dec 2 09:39:37 CST 2010
Pedro,
Then you can use it like that:
1. Start MS Word
2. Create empty doc
3. Switch to VBE
4. Insert module into blank doc modules
5. Copy and paste the following code into module:
Option Explicit
Public Sub ReplaceTabsInActiveDoc()
ReplaceTabs Application.ActiveDocument
End Sub
Public Sub ReplaceTabs(ByRef rdoc As Word.Document)
Dim wapp As Word.Application
Set wapp = rdoc.Application
rdoc.Select
With wapp.Selection.Find
.Text = "^t"
.Replacement.Text = ";"
.Forward = True
.Wrap = 1 'wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
wapp.Selection.Find.Execute Replace:=2 'wdReplaceAll
Set wapp = Nothing
End Sub
6. Open test document
7. Switch back to VBE
8. Put cursor on code line
Public Sub ReplaceTabsInActiveDoc()
9. Push [F5]
...
You can also save macro within normal.dot (MS Word 97 - 2003) but better not
do that.
If you're going to use the above code by opening every document manually
then you don't need that code at all - just use in MS Word:
- Ctrl+H
- char to be replaced - ^t
- char to replace with - ;
- [Replace All]
Application of the above code makes sense to automate tabs replacement in a
(large) set of docs - if somebody here have time to help Pedro to write the
code iterating through a folder with MS Word docs, opening docs,
substituting tabs using above code, saving changes, closing current doc,
opening another one ... please jump in...
I have quite some work to do here, sorry....
Thank you.
--
Shamil
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of pedro at plex.nl
Sent: 2 ??????? 2010 ?. 15:34
To: "
'AccessDevelopersdiscussionandproblemsolving'" at mailhostC.plex.net
Cc: AccessD at databaseadvisors.com
Subject: Re: [AccessD] MS-Word import into Access
Hello Shamil,
i would like to use your proposed vba code as a macro in the word document,
not from within access.
Pedro
In antwoord op:
> From: "Shamil Salakhetdinov" <shamil at smsconsulting.spb.ru>
> To: "'Access Developers discussion and problem solving'"
> Date: Thu, 2 Dec 2010 16:55:43 +0300
> Subject: Re: [AccessD] MS-Word import into Access
>
>
> Pedro,
>
> Do you use proposed VBA code from within MS Access VBE?
>
> Thank you.
>
> --
> Shamil
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of
> pedro at plex.nl
> Sent: 2 ??????? 2010 ?. 14:39
> To: AccessD at databaseadvisors.com
> Subject: Re: [AccessD] MS-Word import into Access
>
> Hello Shamil,
>
> Thanks for the code.
> when i make a new macro from your code.
> The code is not accepted as a macro.
>
> When using the sub ReplaceTabs name, or another sub name, closing the
> visual basic editor, and go to macro's, the macro is not present.
>
> I has something to do with the reference: (ByRef rdoc As
> Word.Document) When using it after the sub-name the macro isn't
> recognized a macro, and i can't start the macro (also not from within the
visual basic editor).
> When i don't use it after the sub-name, i get an error: object not
present.
> and Set wapp = rdoc.Application is highlighted.
> Any suggestions?
>
> Pedro
>
>