Jan 24, 2011
how should I proceed -- with a VB UserForm (eg upon clicking successively a Form Button) -- in order to have a [TextBox.Text] contain (in other words: to have a TextBox show), say, one sentence at a time, text obtained from a MS Word document.Then, also, since it is also essential to my ambitions: can I have all the functionalities of my twenty or so existing word macros (triggered each in Word itself by its corresponding shortcut) available for use in said Form's TextBox? Just as an example, I have macros to simply toggle words between singular and plural or that invert the relative positions of two words, while others are 100 lines long and do searches in another Word document containing glossary entries using bookmarks.I searched the Web for hours on end to get a foothold on this issue to no avail until someone finally hinted at "automation". Then a wealth of info surfaced, but so far I only managed to get as far as this:
View 3 Replies
Dim msword As Object
msword = CreateObject("Word.Application")
msword.Visible = True
Dim wordDoc As Object
wordDoc = msword.Documents.Open("C:\tests\mydoc.doc")
and, yes, I added references to Microsoft Office 11.0 Object Library and to Microsoft Word 11.0 Object Library to my project. I am using Microsoft VB 2010 Express.
What happens is this: When this code runs, first I get a message saying the file is "locked for edition" (or something similar, for mine is a Portuguese version of Word) because it is being use by another user (myself). How should I overcome this hurdle. Then, never minding this initial problem, the dialog box message error offers my the chance of opening a copy as read only. I accept this option and the Word document opens beautifully.But after many trials and only errors, I still don't know how to code so as to get, for example, the first sentence of the document in my TextBox. And, again, will I be able to run my Word macros in the TextBox?
I tried for example:
Selection.MoveRight(Unit:=wdWord, Count:=1, Extend:=wdExtend)
wordDoc.Selection.MoveRight(Unit:=wdSentence, Count:=1, Extend:=wdExtend)
but they get blue/and/red underlined (illegal)Are Word VBA declarations per se not valid in VB? I have many more hurdles on the way I wish to such as (1) what tricks could I use so as no to loose original formatting when I finally learn how to get the sentences shown in the TextBox and subsequently paste them back into the Word document and (2) populating a ListBox with the content of a database record.