プロが教える店舗&オフィスのセキュリティ対策術

EXSEL2003でユーザフォームにテキストボックスを作成してテキストボックスの横に参照ボタン(コマンドボタン)をおいて
参照ボタンを押すと参照ファイルが開いてテキストボックスにパス名だけを取り込見たいのですが次のようにやってみましたが
うまくいきませんGetOpenFilenameをどのように記載すればよいかを教えてください。
参照して取り込みたいファイルは
C:¥UWSC44b.uwsc\aaa.uwsというファイルのパス名です。
ボタンに記載したコードは次のようですが

Sub filename_get()
Dim OpenFileName As String
OpenFileName = Application.GetOpenFilename("c:uwsc44b,*.uws?")
Workbooks.Open OpenFileName
End Sub

上記のように記載したのですがファイルは参照できるのですがパス名が取り込むことができません。
よろしくお願いします。

A 回答 (3件)

自分のやり方でやりたいのかもしれないが、何をしたいのか良くわからない。


.GetOpenFilenameならどのパスのどのファイルか、わかっている時に使うもので、プログラムで開くときパスも判っているはず。
ーー
選択したファイルのパス名を知りたいなら
エクセルのファイルに限るなら
Sub test03()
'With Application.FileDialog(msoFileDialogFolderPicker)
With Application.FileDialog(msoFileDialogFilePicker)
'初期フォルダ設定
.InitialFileName = "C:\DATA\"
'ダイアログのタイトル
.Title = "ファイルを選択してください"

If .Show = True Then
MsgBox .SelectedItems(1)

f = .SelectedItems(1)
If Right(f, 4) = ".xls" Then
r = InStrRev(f, "\")
MsgBox Left(f, r - 1) 'パス名
MsgBox Right(f, Len(f) - r) 'ブック名
Else
MsgBox "エクセルを選択のこと"
End If
End If
End With
End Sub
のようなのもありかな。
しかしこういうニーズは現実的かな。
外にも色いろなやり方がある個所のようなのでWEBで調べまくること。

この回答への補足

回答ありがとうございます。
すみません質問が適当でなかったようです
単純に選択したファイルのパス名を知りたいのです。
よろしくお願いします。

補足日時:2011/02/12 09:42
    • good
    • 0
この回答へのお礼

ありがとうございました。
教えていただいたのを少し変えて使わせていただきます。

お礼日時:2011/02/12 10:06

ご質問を読み違えましたかね。


「ファイルを指定する」のもハズせないのでしたら

Dim OpenFileName As String
OpenFileName = Application.GetOpenFilename("*.uws,*.uws?")
If OpenFileName = "False" Then Exit Sub
MsgBox Left(OpenFileName, InStrRev(OpenFileName, "\") - 1)

とか。
失礼しました。
    • good
    • 0

たとえば「excel vba フォルダを選択」をキーワードにして,ちょっとぐぐってみましょう。



見つかります:
http://officetanaka.net/excel/vba/tips/tips39.htm
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!