LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 37
Default Assign function return value to an array

Hey Guys,

Need some help on this...I have a function named geomsascii which returns
multiple values i.e. the function name get an array assigned to it.

I'd like to take the function's return values and put them in a different
array (layer_array) in main program but when I do that I get "can't assign to
array" error.

What am I doing wrong and how to fix this?

Thank you.

_____________________________________
Private Sub CommandButton1_Click()
Dim layer_array() As String

MenDesCont = MentDesContPath

layer_array = geomsasciiparse() <-----problem line - get CAN'T ASSIGN
ARRAY error

End Sub
_____________________________________

Public Function geomsasciiparse() As String

Dim logical_layer() As String
Dim logicallayernumber As Integer
Dim arraynumber As Integer

Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objGeomsAsciiFile As Object

'Buf array stores words from each line
Dim Buf() As String

'Dimming array
'ReDim logical_layer(0)


'opening geoms_ascii file as read only from Mentor Design Container
Set objGeomsAsciiFile = objFSO.OpenTextFile(MenDesCont & "\geoms_ascii", 1)

Do While Not objGeomsAsciiFile.AtEndOfStream
strLine = objGeomsAsciiFile.Readline

'look for first instance of _LAYER_DEFNITION in geoms_ascii
If InStr(strLine, "_LAYER_DEFINITION") < 0 Then

Buf() = qc_Split(strLine)

'extract logical layer number from ARTWORK_01_LAYER_DEFNITION
logicallayernumber = Mid(Buf(1), 9, 2)

'need to redim logical_layer so it can be assigned to geomsasciiparse later
ReDim Preserve logical_layer(CInt(logicallayernumber))

'ignore when ARTWORK_LAYER_DEFINITION = 00 in geoms_ascii
If logicallayernumber < "00" Then

For buf_idx = 1 To UBound(Buf)

If InStr(Buf(buf_idx), "SIGNAL") < 0 Or _
InStr(Buf(buf_idx), "POWER") < 0 Then

logical_layer(CInt(logicallayernumber)) = Buf(buf_idx)
Exit For
End If
Next
End If
End If
Loop

'get rid of empty array values

'For arraynumber = 1 To UBound(logical_layer)
'If logical_layer(arraynumber) = "" Then
'ReDim Preserve logical_layer(arraynumber - 1)
'Exit For
'End If
'Next arraynumber

geomasasciiparse = logical_layer

objGeomsAsciiFile.Close

End Function
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Reverse a function to return the array? bc4240 Excel Worksheet Functions 4 July 31st 09 05:25 AM
Which Function to Use? Search an Array, Return a Row Value [email protected] Excel Discussion (Misc queries) 1 August 24th 07 06:34 PM
Return Array from Function Zone[_2_] Excel Programming 2 February 21st 07 02:51 AM
Return Array from Function [email protected] Excel Programming 2 January 10th 06 07:52 PM
Return an array of values from a function Raul Excel Programming 6 December 13th 04 07:33 PM


All times are GMT +1. The time now is 11:50 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"