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