[AccessD] Word Window On Top

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




More information about the AccessD mailing list