[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3582
  • Last Modified:

VBA Excel - Importing file type frx

Hi,

I have an import function that allows me to import modules and forms into another workbook, successfully.  However, I also have .frx files that it does not import.  I dont know what .frx files are.  Can anyone help me allow these files to be imported?  See my code below:
Sub ImportModules()
    Application.ScreenUpdating = False
    Dim Filt As String, Title As String, FilterIndex As Integer, i As Integer, FileName
    Dim blnTest As Boolean
    Dim FSO As Object, Folder As Object, File As Object
    Dim OzMainXLS As Workbook
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Folder = FSO.GetFolder("C:\")
     
    For Each File In Folder.Files
        If UCase(File.Name) = "oz_main.xls" Then
            If WorkbookIsOpen(File.Name) Then
                Set OzMainXLS = Application.Workbooks(File.Name)
            Else
                Set OzMainXLS = Application.Workbooks.Open(File.Path)
            End If
            blnTest = True
            Exit For
        End If
    Next
     
    If blnTest = True Then
        If MsgBox("oz_main.xls already exists." & vbCrLf & vbCrLf & _
        "Would you like to add modules to it?", vbYesNo, _
        "oz_main.xls Exists") = vbNo Then GoTo ExitHere
    End If
     
    If blnTest = False Then
        Set OzMainXLS = Application.Workbooks.Add
        OzMainXLS.SaveAs ("C:\oz_main.xls")
        Windows("oz_main.xls").Visible = True
         
        If MsgBox("oz_main.xls created." & vbCrLf & vbCrLf & "Would you like to import modules?", _
        vbYesNo, "oz_main.xls Created") = vbNo Then GoTo ExitHere
    End If
     
    Filt = "All Files (*.*),*.*," & _
    "Basic Files (*.bas),*.bas," & _
    "Form Files (*.frm),*.frm,"

    FilterIndex = 5
    Title = "Select a File to Import"
    FileName = Application.GetOpenFilename(FileFilter:=Filt, FilterIndex:=FilterIndex, _
    Title:=Title, MultiSelect:=True)
     
    If TypeName(FileName) = "Boolean" Then GoTo ExitHere

    For i = LBound(FileName) To UBound(FileName)
        OzMainXLS.VBProject.VBComponents.Import (FileName(i))
    Next
     
ExitHere:
    OzMainXLS.Save
    Set OzMainXLS = Nothing
    Set FSO = Nothing
    Set Folder = Nothing
    Set File = Nothing
    Application.ScreenUpdating = True
End Sub

Private Function WorkbookIsOpen(wbName) As Boolean
     'Returns TRUE if the workbook is open
    Dim wb As Workbook
    On Error Resume Next
    Set wb = Application.Workbooks(wbName)
    If Err = 0 Then WorkbookIsOpen = True Else WorkbookIsOpen = False
End Function

Open in new window

0
NerishaB
Asked:
NerishaB
  • 3
  • 2
1 Solution
 
Wayne Taylor (webtubbs)Commented:
You don't import FRX files - they are already handled when you import the form.http://www.xcelfiles.com/FRX.htmlWayne
0
 
NerishaBAuthor Commented:
Thanks Wayne.
In my code, you see the filter allowing "All files", ".Bas Files" and "Form Files".  Is there a way to filter it such that the user odes not see the 'frx files" when they select All and import?  At the moment, if I just select all files, the .frx files get selected as well and the import stops becasue it does not recgonise .frx.  How can I work arouns this problem?
0
 
Wayne Taylor (webtubbs)Commented:
Not when they select "All Files", but you can specify *all* VBA files. Change the filter to this....

    Filt = "All Files (*.*),*.*," & _
    "Visual Basic Files (*.bas; *.frm; *.cls),*.bas;*.frm;*.cls"

Wayne
0
 
Wayne Taylor (webtubbs)Commented:
If you still want to specify which type of VBA file, use this....

    Filt = "All Files (*.*),*.*," & _
    "Form Files(*.frm),*frm," & _
    "Module Files (*.bas),*.bas," & _
    "Class Files (*.cls),*.cls," & _
    "Visual Basic Files (*.bas; *.frm; *.cls),*.bas;*.frm;*.cls"

Wayne
0
 
NerishaBAuthor Commented:
Thank you, both solutions work well.
0

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now