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