Rocky Smolin - Beach Access Software
bchacc at san.rr.com
Sat Aug 26 20:48:51 CDT 2006
Replace OpusApp with WordObj? Rocky Michael R Mattys wrote: > Of course! Right on target, John. > > I was going to say: > > Public Declare Function FindWindow Lib "user32" _ > Alias "FindWindowA" (ByVal lpClassName As String, _ > ByVal lpWindowName As String) As Long > > Public Declare Function ShowWindow Lib "user32" _ > (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long > > Dim OpusApp As Long > OpusApp& = FindWindow("OpusApp", vbNullString) > Call ShowWindow(OpusApp , SW_NORMAL) > > Michael R. Mattys > MapPoint Developer > www.mattysconsulting.com > > ----- Original Message ----- > From: "John Ruff" <papparuff at comcast.net> > To: "'Access Developers discussion and problem solving'" > <accessd at databaseadvisors.com> > Sent: Saturday, August 26, 2006 9:07 PM > Subject: Re: [AccessD] Word Window On Top > > > >> After you create the WordObj set its visible property to true >> >> ' Shows this instance of Word >> WordObj.Visible = True >> >> papparuff >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin - >> Beach Access Software >> Sent: Saturday, August 26, 2006 4:26 PM >> To: Access Developers discussion and problem solving >> Subject: Re: [AccessD] Word Window On Top >> >> Well, I'm really crappin' out with this guy. .Activate didn't work, nor >> .Show. >> >> He tests to see if word is already open - doesn't want to open a second >> instance. >> >> Set WordObj = GetObject(, "Word.Application") >> If Err.Number <> 0 Then >> Set WordObj = CreateObject("Word.Application") >> End If >> >> >> Nothing works so far when Word is already open. But I can't help but >> think there's a simple property or method (there's so freakin' many of >> 'em) to make Word the active window when you open a new document and >> word is already open. >> >> Any other ideas anybody? >> >> MTIA >> >> Rocky >> >> Heenan, Lambert wrote: >> >>> Rocky, >>> >>> WordObj needs to be declared As Word.Application, but is has to be in >>> the >>> same scope as the function you are using. Notice that I actually declare >>> >> the >> >>> xlObj inside my function. >>> >>> Lambert (first name) >>> >>> -----Original Message----- >>> From: accessd-bounces at databaseadvisors.com >>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin - >>> Beach Access Software >>> Sent: Wednesday, August 23, 2006 4:03 PM >>> To: Access Developers discussion and problem solving >>> Subject: Re: [AccessD] Word Window On Top >>> >>> >>> Heenan: >>> >>> With WordObj declared as: Dim WordObj As Word.Application >>> >>> and the Function in a separate module, the statement SetForegroundWindow >>> WordObj.hWnd won't compile - gives a method or data member not found >>> >> error. >> >>> The Word 11.0 object library is checked in the references. >>> >>> I tried redeclaring WordObj as Object but that didn't work either. >>> >>> TIA >>> >>> Rocky >>> >>> >>> Heenan, Lambert wrote: >>> >>> >>>> Well here is how I do the same thing with Access opening Excel. It is >>>> all dependant on getting the handle of the Excel window (or Word >>>> window in your case)... >>>> >>>> Public Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd >>>> As >>>> Long) As Long >>>> >>>> Sub ViewInExcel(strRecordSource As String, Optional bFormatColumns As >>>> Boolean = True) >>>> '--------------------------------------------------------------------- >>>> ------ >>>> ------------ >>>> ' Procedure : ViewInExcel >>>> ' >>>> ' Purpose : Displays a recordset (Table or query) in an Excel >>>> >> worksheet, >> >>>> but does >>>> ' : not save the Excel file. The user can choose to save the >>>> >>>> >>> file >>> >>> >>>> if needed. >>>> >>>> >>>> >> '--------------------------------------------------------------------------- >> >>>> ------------ >>>> ' >>>> Dim objXL As excel.Application >>>> Dim objSheet As excel.Worksheet >>>> Dim objWB As excel.Workbook >>>> Dim rs As Object >>>> Dim oRng As excel.Range >>>> Dim nCols As Long, n As Long >>>> >>>> Set rs = CurrentDb.OpenRecordset(strRecordSource) >>>> nCols = rs.Fields.Count >>>> Set objXL = CreateObject("Excel.Application") >>>> objXL.SheetsInNewWorkbook = 1 >>>> Set objWB = objXL.Workbooks.Add >>>> Dim f As Field >>>> n = 0 >>>> ' CopyFromRecordset does not bring the column headings with it. >>>> ' So here we add them manually. >>>> For Each f In rs.Fields >>>> n = n + 1 >>>> objWB.Sheets("Sheet1").Cells(1, n) = f.Name >>>> Next f >>>> ' and now drop the data into row 2 >>>> objWB.Sheets("Sheet1").Cells(2, 1).CopyFromRecordset rs >>>> If bFormatColumns Then >>>> Set oRng = objWB.Sheets("Sheet1").Range(CStr(ExcelColumn(1)) & >>>> "1:" & CStr(ExcelColumn(nCols)) & "1") >>>> oRng.EntireColumn.AutoFit >>>> oRng.Interior.Color = vbYellow >>>> oRng.Borders.Color = vbBlack >>>> Set oRng = Nothing >>>> End If >>>> rs.Close >>>> Set rs = Nothing >>>> objXL.Visible = True >>>> SetForegroundWindow objXL.hWnd ' here's the line that brings the >>>> window to the foreground. End Sub >>>> >>>> HTH >>>> >>>> Lambert >>>> -----Original Message----- >>>> From: accessd-bounces at databaseadvisors.com >>>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky >>>> Smolin - Beach Access Software >>>> Sent: Wednesday, August 23, 2006 1:33 PM >>>> To: Access Developers discussion and problem solving >>>> Subject: [AccessD] Word Window On Top >>>> >>>> >>>> Dear List: >>>> >>>> Using automation I open a word doc, but the access app is still on >>>> top. >>>> Word is in the tray. Click it and the doc is there and open. Q: how >>>> can I give the word doc window the focus after I open it? >>>> >>>> MTIA >>>> >>>> Rocky >>>> >>>> >>>> >>>> >>> >> -- >> Rocky Smolin >> Beach Access Software >> 858-259-4334 >> www.e-z-mrp.com >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> > > -- Rocky Smolin Beach Access Software 858-259-4334 www.e-z-mrp.com