« 文書の最終段落の文字数の取得 | トップページ | 【改良】フォルダ中のすべてのワードファイルの内容をコピペする »

2009年6月 6日 (土)

選択したファイルのフォルダパスを取得するマクロ

Folderpath 左の「フォルダを開くダイアログボックス」でファイルを選択(ダブルクリック)したときに、選択したファイルが保存されているフォルダのパスを取得するマクロです。

2種類つくりました。

①表示するファイルの種類を指定しない方法です。

この場合には、Dialogs(wdDialogFileFind)という組み込みのダイアログボックスを利用します。

②表示するファイルの種類をワード文書などに指定する方法です。

この場合には、上記のDialogs(wdDialogFileFind)にDialogs(wdDialogFileOpen)のダイアログボックスを組み合わます。

ヒント:以前紹介したニュースグループでDialogs(wdDialogFileOpen) file pathをキーワードにして検索します。

参照したページはこちら

Dialogs(wdDialogFileOpen)を用いて、ファイルを開くことができるや、ファイル名を取得できることは知っていましたが、ファイルパスやフォルダパスが取得できなくて困っていました。

そこで上記のようなキーワードの質問をしたところ、同じような疑問がすでに書かれておりました。

さらに、Dialogs(wdDialogFileOpen)では、ファイルパスは取得できないとの回答と、Dialogs(wdDialogFileFind)を組み合わせたファイルパスの取得のコードが載っていました。

ありがたく参考にさせていただき、下記のように簡単なコードに書き直しました。

ファイルパスの取得方法は、上記の参照ページに載っていますのでご覧ください。

Sub ①ファイルのフォルダパスを取得()

Dim strPath As String
Dim dlgFind As Dialog

Set dlgFind = Dialogs(wdDialogFileFind)

With dlgFind
   
    Select Case .Display
   
    Case -1  'ファイルが選択されたとき
        'FileFind Dialogの更新
        .Update
        'FileFind Dialogからフォルダパスの取得
        strPath = .SearchPath
       
    Case Else  'キャンセルボタンが押されたとき
        End
       
    End Select

End With

MSGBOX strPath

End Sub

以下のプログラムでは、ワード文書のみを表示します。

Sub ②ファイルのフォルダパスを取得()

Dim strPath As String
Dim dlg As Dialog
Dim dlgFind As Dialog

Set dlg = Dialogs(wdDialogFileOpen)
Set dlgFind = Dialogs(wdDialogFileFind)

With dlg
    .Name = "*.doc"
   
    Select Case .Display
   
    Case -1 'ファイルが選択されたとき
        'FileFind Dialogの更新
        dlgFind.Update
        strPath = dlgFind.SearchPath
       
    Case Else 'キャンセルボタンが押されたとき
        End
    End Select

End With

MSGBOX strPath

End Sub

|

« 文書の最終段落の文字数の取得 | トップページ | 【改良】フォルダ中のすべてのワードファイルの内容をコピペする »

マクロプログラム」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/519619/45250888

この記事へのトラックバック一覧です: 選択したファイルのフォルダパスを取得するマクロ:

« 文書の最終段落の文字数の取得 | トップページ | 【改良】フォルダ中のすべてのワードファイルの内容をコピペする »