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