Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

FileDialog Box in Access 2010 VBA

Posted on 2014-04-14
8
1,755 Views
Last Modified: 2014-04-14
Hello
I am trying to open a excel file from access 2010 file. This code is not working as its giving errors.


Option Compare Database
Sub b()


Dim fDialog As FileDialog
Dim varFile As Variant
Dim FilePath As String
Dim FileName As String
Dim fs As Object
Dim SavePath As String
Dim OpenFile As Variant
Set fs = Interaction.CreateObject("Scripting.FilesystemObject")
'Declare SavePath for Documents
SavePath = "\\Path\to\share\Directory\"
 
 
 
'Set up the File Dialog
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
 
With fDialog
    'Do not Allow user to select multiple files
    .AllowMultiSelect = False
 
    'Set the title of the Dialog box
    .Title = "Please select the file you want to move"
    
    'Clear our the current filters and add our own
    .Filters.Clear
    .Filters.Add "Adobe PDF", "*.PDF"
    .Filters.Add "All Files", "*.*"
    
    'Show the Dialog box. If the .Show method returns True, the
    'user picked a file. If the .Show method returns
    'False, the user clicked cancel.
    If .Show = True Then
        'Display what file the user picked
        For Each varFile In .SelectedItems
        Me.DocumentLocation.Value = SavePath
        'Copy the File to the Share
        fs.Copyfile varFile, SavePath
        MsgBox ("The file you selected is - " & varFile)
       
        Set fs = Nothing
        
        Next
    'The User Pressed the Cancel button
    Else
        MsgBox ("You clicked cancel!")
    End If
End With



End Sub

Open in new window




What change do I need to do to make this work or any other alternatives you may suggest.
compileErr.png
0
Comment
Question by:Rayne
8 Comments
 
LVL 76

Assisted Solution

by:GrahamSkan
GrahamSkan earned 250 total points
ID: 39999709
The error is: "User-defined type not defined."
You need to set a reference to the Microsoft Office library

Also the code appears to be looking for PDF files instead of Excel fines (Line 30)
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 39999713
do you have a reference set to the

Microsoft Office XX.X Object Library
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 39999723
try adding

microsoft office 14 object library

to your references

from vba window
Tools > references
0
Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 

Author Comment

by:Rayne
ID: 39999735
If its alphabetical order, I am not seeing the office object library – can you?
library-reference.png
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 39999749
how about the selected references portion? is it not on the list?
0
 

Author Comment

by:Rayne
ID: 39999859
0
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 250 total points
ID: 39999912
go to this folder

C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14

and see if you have the file MSO.dll
0
 

Author Comment

by:Rayne
ID: 40000049
Here is another one:
http://www.experts-exchange.com/Database/MS_Access/Q_28412392.html
if you are interested
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Using Word 2013, I was experiencing some incredible lag when typing.  Here's what worked for me....
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question