I am working in VB Access and am trying to insert the ListNum field into Word. In Word the key combination for this is CTRL+F9. Somehow I need to be able to send this key combination to Word.
use "SendKeys" function in Access<br><br>find it in Help in Access<br><br> <p>DougP<br><a href=mailto: dposton@universal1.com> dposton@universal1.com</a><br><a href= > </a><br> Ask me how Bar-codes can help you be more productive.
Hi Doug,<br><br>Thanks for your suggestion. I had already tried that and was having problems getting it to work. Below you will find the code from the module where I am trying to send the key codes from.<br>If you have any other suggestions they would be greatly appreciated.<br><br><br>Sub WriteMSWordSpecs(dirString As String)<br> Dim docObj As Object 'the document<br> Dim mswApp As Object 'the invisable msword application<br> Dim rng As Object 'range object for formating the text.<br> Dim curdb As Database 'current database<br> Dim currecset As Recordset 'record set to read the data<br> Dim lagSpecNumber As String 'spec number for controling output<br> Dim MFGCounter As Integer 'count the number of MFG's<br> Dim paracount As Integer 'count of the current number of paragraphs<br> Dim begOffSet As Integer, endOffSet As Integer, curOffSet As Integer 'offsets for seting range<br> <br> Set curdb = CurrentDb<br> Set currecset = curdb.OpenRecordset("QueryForSubDocs"<br> <br> Set mswApp = CreateObject("Word.Application" 'start msword<br> <br> currecset.MoveFirst<br> lagSpecNumber = "~~~~~~~~" 'imposible accidental match<br> <br> While Not currecset.EOF<br> <br> If lagSpecNumber <> currecset![SpecID] Then 'control the page by tracking specification number<br> If lagSpecNumber <> "~~~~~~~~" Then 'startup state only<br> docObj.Close<br> End If<br> <br> 'open doc and write formated output<br> Set docObj = mswApp.Documents.Add<br> <br> SendKeys "^{F9}"<br><br> docObj.SaveAs FileName:=dirString + currecset![SpecID] + ".doc"<br> docObj.range.insertafter "listnum " & currecset![SpecID] & " - " & currecset![SpecTitle] & vbCr<br> docObj.range.insertafter "a. Manufacturer and Model:" & vbCr<br> docObj.paragraphs(2).tabindent (1)<br> <br> If IsNull(currecset![MFGModelNo]) Or 1 <> currecset![selectOrder] Then<br> docObj.range.insertafter "-------- None ---------" & vbCr<br> Else<br> docObj.range.insertafter "(1) " & currecset![Manufacturer] & "; " & currecset![MFGModelNo] & vbCr<br> End If<br> docObj.paragraphs(3).tabindent (2)<br> <br> docObj.range.insertafter "b. Description:" & vbCr<br> docObj.paragraphs(4).tabindent (1)<br><br> begOffSet = docObj.paragraphs.Count<br> docObj.range.insertafter "(1) " & currecset![SpecText] & vbCr<br> endOffSet = docObj.paragraphs.Count<br> <br> 'do the indent for all paragraphs involved<br> curOffSet = begOffSet<br> While curOffSet < endOffSet<br> docObj.paragraphs(curOffSet).tabindent (2)<br> curOffSet = curOffSet + 1<br> Wend<br> <br> docObj.range.insertafter "c. Utility Requirements:" & vbCr<br> docObj.paragraphs(endOffSet).tabindent (1)<br> begOffSet = docObj.paragraphs.Count<br> If IsNull(currecset![UtilityRequire]) Then<br> docObj.range.insertafter "(1) None" & vbCr<br> Else<br> docObj.range.insertafter "(1)" & currecset![UtilityRequire] & vbCr<br> End If<br> <br> endOffSet = docObj.paragraphs.Count<br> curOffSet = begOffSet<br> While curOffSet < endOffSet<br> docObj.paragraphs(curOffSet).tabindent (2)<br> curOffSet = curOffSet + 1<br> Wend<br> <br> docObj.range.insertafter "d. Accesories:" & vbCr<br> docObj.paragraphs(endOffSet).tabindent (1)<br> begOffSet = docObj.paragraphs.Count<br> If IsNull(currecset![Accessories]) Then<br> docObj.range.insertafter "(1) None" & vbCr<br> Else<br> docObj.range.insertafter "(1)" & currecset![Accessories] & vbCr<br> End If<br> <br> endOffSet = docObj.paragraphs.Count<br> curOffSet = begOffSet<br> While curOffSet < endOffSet<br> docObj.paragraphs(curOffSet).tabindent (2)<br> curOffSet = curOffSet + 1<br> Wend<br><br> docObj.range.insertafter "e. Subject ot conformance to specified requirements, equivalent products of the following manufactures will be accecptable:" & vbCr<br> endOffSet = docObj.paragraphs.Count<br> docObj.paragraphs(endOffSet - 1).tabindent (1)<br> MFGCounter = 0<br> curOffSet = endOffSet<br> <br> If 99 = currecset![selectOrder] Then 'for case where no selected item was made (data error, but show mfg anyway)<br> MFGCounter = MFGCounter + 1 'selectorder should = 1 for the prefered model as defined in query<br> docObj.range.insertafter "(" & MFGCounter & " " & currecset![Manufacturer] & "; " & currecset![MFGModelNo] & vbCr<br> docObj.paragraphs(curOffSet).tabindent (2)<br> curOffSet = curOffSet + 1<br> End If<br><br> Else<br> 'write alternative product information<br> MFGCounter = MFGCounter + 1<br> docObj.range.insertafter "(" & MFGCounter & " " & currecset![Manufacturer] & "; " & currecset![MFGModelNo] & vbCr<br> docObj.paragraphs(curOffSet).tabindent (2)<br> curOffSet = curOffSet + 1<br> End If<br> <br> lagSpecNumber = currecset![SpecID]<br> currecset.MoveNext<br> Wend<br> <br> docObj.Close<br> mswApp.Quit<br> <br> MsgBox "Specification Export Complete."<br>End Sub<br>
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.