Rocky Smolin - Beach Access Software
bchacc at san.rr.com
Sat Aug 26 23:15:40 CDT 2006
Word is OpusApp and Access is OMain. That makes sense (not). Anyway, thanks - I'll forward the snip to the client and see if that will do it. Best, Rocky Michael R Mattys wrote: > Hi Rocky, > > No - OpusApp is the Application name. > Most Office Apps are like that > Try here: http://www.mvps.org/access/api/api0007.htm > > Michael R. Mattys > MapPoint Developer > www.mattysconsulting.com > > ----- Original Message ----- > From: "Rocky Smolin - Beach Access Software" <bchacc at san.rr.com> > To: "Access Developers discussion and problem solving" > <accessd at databaseadvisors.com> > Sent: Saturday, August 26, 2006 9:48 PM > Subject: Re: [AccessD] Word Window On Top > > > >> 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 >> >> -- >> 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