[AccessD] Word Window On Top

Michael R Mattys mmattys at rochester.rr.com
Sat Aug 26 20:26:18 CDT 2006


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 




More information about the AccessD mailing list