# Function Reference

# _IEFrameGetCollection

Returns a collection object containing the frames in a FrameSet or the iFrames on a normal page or a single Frame or iFrame by index

#include <IE.au3>
_IEFrameGetCollection ( ByRef $oObject [, $iIndex = -1] )

## Parameters

$oObject | Object variable of an InternetExplorer.Application, Window or Frame object
$iIndex | [optional] specifies whether to return a collection or indexed instance 0 or positive integer returns an indexed instance -1 = (Default) returns a collection

## Return Value

Success: | an object variable containing the Frames collection, @extended = Frame count.
Failure: | sets the @error flag to non-zero.
@error: | 3 ($_IEStatus_InvalidDataType) - Invalid Data Type 5 ($_IEStatus_InvalidValue) - Invalid Value 7 ($_IEStatus_NoMatch) - No Match
@extended: | Contains invalid parameter number

## Remarks

Although MSDN documents the return value for this function as a collection object, it cannot be looped through with a For...In...Next loop like a standard collection object.
You must instead step through the collection by index - see example.

## Related

_IEFrameGetObjByName, _IEIsFrameSet

## Example

    ; Open frameset example, get collection of frames
    ; and loop through them displaying their source URL's

    #include <IE.au3>
    #include <MsgBoxConstants.au3>

    Local $oIE = _IE_Example("frameset")
    Local $oFrames = _IEFrameGetCollection($oIE)
    Local $iNumFrames = @extended
    Local $sTxt = $iNumFrames & " frames found" & @CRLF & @CRLF
    Local $oFrame = 0
    For $i = 0 To ($iNumFrames - 1)
        $oFrame = _IEFrameGetCollection($oIE, $i)
        $sTxt &= _IEPropertyGet($oFrame, "innertext") & @CRLF
    Next
    MsgBox($MB_SYSTEMMODAL, "Frames Info", $sTxt)

    _IEQuit($oIE)