Re: References for VBA
- From: "Amy Blankenship" <Amy_nospam@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 17 Oct 2005 13:34:08 -0500
My code:
In Word:
Private Sub OutputBrowse_Click()
Dim dlg As FileDialog
Set dlg = Application.FileDialog(msoFileDialogFolderPicker)
If GetDirectory.InputDirectory.Value <> "" Then
dlg.InitialFileName = GetDirectory.InputDirectory.Value
Else
dlg.InitialFileName = "C:\"
End If
If dlg.Show = -1 Then
OutputDirectory.Value = dlg.SelectedItems(1)
Call EnableButton
End If
End Sub
In Access:
Sub GetFile(Control)
Dim retFile As String, dlg As Variant, s As String
Set dlg = Application.FileDialog(msoFileDialogFilePicker)
With dlg
.InitialFileName = CodeProject.Path
If .Show = -1 Then s = .SelectedItems(1)
End With
If s <> "" Then
retFile = Right(s, Len(s) - InStrRev(s, "\"))
Control.Value = retFile
End If
The Help
In Word:
FileDialog Object
Provides file dialog box functionality similar to the functionality of the
standard Open and Save dialog boxes found in Microsoft Office applications.
With these dialog boxes, users of your solutions can easily specify the
files and folders that your solution should use.
Using the FileDialog object
Use the FileDialog property to return a FileDialog object. The FileDialog
property is located in each individual Office application's Application
object. The property takes a single argument, DialogType, that determines
the type of FileDialog object that the property returns. There are four
types of FileDialog object:
a.. Open dialog box - lets users select one or more files that you can
then open in the host application using the Execute method.
b.. SaveAs dialog box - lets users select a single file that you can then
save the current file as using the Execute method.
c.. File Picker dialog box - lets users select one or more files. The file
paths that the user selects are captured in the FileDialogSelectedItems
collection.
d.. Folder Picker dialog box - lets users select a path. The path that the
user selects is captured in the FileDialogSelectedItems collection.
Each host application can only instantiate a single instance of the
FileDialog object. Therefore, many of the properties of the FileDialog
object persist even when you create multiple FileDialog objects. Therefore,
make sure that you've set all of the properties appropriately for your
purpose before you display the dialog box.
In order to display a file dialog box using the FileDialog object, you must
use the Show method. Once a dialog box is displayed, no code will execute
until the user dismisses the dialog box. The following example creates and
displays a File Picker dialog box and then displays each selected file in a
message box.
Sub Main()
'Declare a variable as a FileDialog object.
Dim fd As FileDialog
'Create a FileDialog object as a File Picker dialog box.
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'Declare a variable to contain the path
'of each selected item. Even though the path is a String,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant
'Use a With...End With block to reference the FileDialog object.
With fd
'Use the Show method to display the File Picker dialog box and
return the user's action.
'The user pressed the action button.
If .Show = -1 Then
'Step through each string in the FileDialogSelectedItems
collection.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem is a String that contains the path of each
selected item.
'You can use any file I/O functions that you want to work
with this path.
'This example simply displays the path in a message box.
MsgBox "The path is: " & vrtSelectedItem
Next vrtSelectedItem
'The user pressed Cancel.
Else
End If
End With
'Set the object variable to Nothing.
Set fd = Nothing
End SubIn Access:
FileDialog Object
Provides file dialog box functionality similar to the functionality of the
standard Open and Save dialog boxes found in Microsoft Office applications.
With these dialog boxes, users of your solutions can easily specify the
files and folders that your solution should use.
Using the FileDialog object
Use the FileDialog property to return a FileDialog object. The FileDialog
property is located in each individual Office application's Application
object. The property takes a single argument, DialogType, that determines
the type of FileDialog object that the property returns. There are four
types of FileDialog object:
a.. Open dialog box - lets users select one or more files that you can
then open in the host application using the Execute method.
b.. SaveAs dialog box - lets users select a single file that you can then
save the current file as using the Execute method.
c.. File Picker dialog box - lets users select one or more files. The file
paths that the user selects are captured in the FileDialogSelectedItems
collection.
d.. Folder Picker dialog box - lets users select a path. The path that the
user selects is captured in the FileDialogSelectedItems collection.
Each host application can only instantiate a single instance of the
FileDialog object. Therefore, many of the properties of the FileDialog
object persist even when you create multiple FileDialog objects. Therefore,
make sure that you've set all of the properties appropriately for your
purpose before you display the dialog box.
In order to display a file dialog box using the FileDialog object, you must
use the Show method. Once a dialog box is displayed, no code will execute
until the user dismisses the dialog box. The following example creates and
displays a File Picker dialog box and then displays each selected file in a
message box.
Sub Main()
'Declare a variable as a FileDialog object.
Dim fd As FileDialog
'Create a FileDialog object as a File Picker dialog box.
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'Declare a variable to contain the path
'of each selected item. Even though the path is a String,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant
'Use a With...End With block to reference the FileDialog object.
With fd
'Use the Show method to display the File Picker dialog box and
return the user's action.
'The user pressed the action button.
If .Show = -1 Then
'Step through each string in the FileDialogSelectedItems
collection.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem is a String that contains the path of each
selected item.
'You can use any file I/O functions that you want to work
with this path.
'This example simply displays the path in a message box.
MsgBox "The path is: " & vrtSelectedItem
Next vrtSelectedItem
'The user pressed Cancel.
Else
End If
End With
'Set the object variable to Nothing.
Set fd = Nothing
End SubNote that there is nothing in either help mentioning a needed
reference, yet in Word it "just works." In Access, it doesn't.
-Amy
"Jonathan West" <jwest@xxxxxxxx> wrote in message
news:uw2oPRw0FHA.2064@xxxxxxxxxxxxxxxxxxxxxxx
>
> "Amy Blankenship" <Amy_nospam@xxxxxxxxxxxxxxxxxxxxxx> wrote in message
> news:u2x8e$Z0FHA.3780@xxxxxxxxxxxxxxxxxxxxxxx
>> But the code I used was in the Help for both Access and Word. In Word it
>> just worked, whereas in Access I had to check various references until I
>> could make it work. In neither place did it mention that any references
>> were needed. That's the point...I got the code out of the Help files for
>> Word and I saw the identical code in the Help files in Access, but in
>> neither place did it mention that the functionality wouldn't just work
>> "out of the box." If it isn't Microsoft's responsibility to document what
>> you need to do to make the code in their own help files work, then whose
>> is it? Are developers supposed to just GUESS, like I did? That seems to
>> be a bit of an odd attitude for a company the size of Microsoft to take
>> for their products.
>
>
> Show us the relevant code
>
>
> --
> Regards
> Jonathan West - Word MVP
> www.intelligentdocuments.co.uk
> Please reply to the newsgroup
> Keep your VBA code safe, sign the ClassicVB petition www.classicvb.org
.
- Follow-Ups:
- Re: References for VBA
- From: Tony Jollans
- Re: References for VBA
- References:
- References for VBA
- From: Amy Blankenship
- Re: References for VBA
- From: Jonathan West
- Re: References for VBA
- From: Jonathan West
- Re: References for VBA
- From: Amy Blankenship
- Re: References for VBA
- From: Jonathan West
- Re: References for VBA
- From: Amy Blankenship
- Re: References for VBA
- From: Jonathan West
- References for VBA
- Prev by Date: Re: References for VBA
- Next by Date: Re: References for VBA
- Previous by thread: Re: References for VBA
- Next by thread: Re: References for VBA
- Index(es):