Solved

FileDialog Box in Access 2010 VBA

Posted on 2014-04-14
8
1,773 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
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 

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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

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…
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

735 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