No.1ベストアンサー
- 回答日時:
標準ではありません。
使用する前にプロジェクトに追加する必要があります。
http://homepage1.nifty.com/Wan/vbb/vbb026-030.htm
参考URL:http://homepage1.nifty.com/Wan/vbb/vbb026-030.htm
No.3
- 回答日時:
> ファイル名を指定させるために、コモンダイアログを表示したいのですが方法がわかりません。
GetOpenFileNameを使います。
サンプルコードは書籍、WEB等で多数公開されています。
一例ですが、下記の要領。
Option Explicit
'[ファイルを開く]と[ファイルを保存]ダイアログボックスの為の構造体宣言
Private Type OPENFILENAME
lStructSize As Long '構造体のサイズ
HWndOwner As Long 'ダイアログボックスを所有するウィンドウのハンドル
hInstance As Long 'アプリケーション インスタンス
lpstrFilter As String 'フィルター
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long 'デフォルトのフィルタ
lpstrFile As String '選択されたファイル名
nMaxFile As Long 'ファイル名の最大長
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long 'オプション
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
'[ファイルを開く]ダイアログボックスを呼び出すAPI
Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" _
(pOpenfilename As OPENFILENAME) As Long
'OPENFILENAME構造体のflagsで指定する定数
Private Const OFN_READONLY As Long = &H1 '[読み取り専用]チェックボックスをオンにする
Private Const OFN_OVERWRITEPROMPT As Long = &H2 '選択したファイルが存在する場合の上書確認する
Private Const OFN_HIDEREADONLY As Long = &H4 '[読み取り専用]チェックボックスを表示しない
Private Const OFN_NOCHANGEDIR As Long = &H8 'ダイアログボックスを開いたときに現在のディレクトリを表示する
Private Const OFN_SHOWHELP As Long = &H10 'ダイアログ ボックスに [ヘルプ] ボタンを表示する
Private Const OFN_NOVALIDATE As Long = &H100 '無効な文字を含むファイル名を指定出来るようにする
Private Const OFN_ALLOWMULTISELECT As Long = &H200 'ファイル名リストボックスで複数選択を可能にする
Private Const OFN_EXTENSIONDIFFERENT As Long = &H400 'ファイル名の拡張子とlpstrDefExtで指定された拡張子が異なる
Private Const OFN_PATHMUSTEXIST As Long = &H800 '無効なパスを入力したときに警告メッセージを表示する
Private Const OFN_FILEMUSTEXIST As Long = &H1000 '既存のファイルだけ入力できるようにする
Private Const OFN_CREATEPROMPT As Long = &H2000 '現在存在しないファイルを作成するかを確認する
Private Const OFN_SHAREAWARE As Long = &H4000 '共有違反エラーを無視する
Private Const OFN_NOREADONLYRETURN As Long = &H8000 '読み取り専用属性を持たず、読み取り専用フォルダにないファイルを取得する
Private Const OFN_EXPLORER As Long = &H80000 'エクスプローラに似たダイアログボックスにする
Private Const OFN_NODEREFERENCELINKS As Long = &H100000 'ショートカットを実行しない
Private Const OFN_LONGNAMES As Long = &H200000 '長いファイル名を使用する
Public Function ShowOpenFileDlg(ByRef HWnd As Long, _
ByVal strDefault As String) As String
'****************************************************************************************
'機能概要: [ファイルを開く]ダイアログを表示してファイル名を取得する。
'
'引 数: HWnd ダイアログの親ウィンドウのハンドル
' strDefault デフォルトのパス。(ダイアログを開いた際に初期値として表示)
'
'
'戻 り 値: 選択されたファイル名。キャンセルされた場合は何も戻らない
'
'備 考: 文字列の取り扱いに注意。
'
'****************************************************************************************
Dim ofn As OPENFILENAME
Dim strPath As String
Dim strTmp As String
Dim lngRet As Long
Dim i As Long
' ダイアログ ボックスのオプションを設定します。
With ofn
'親Windowの指定
.HWndOwner = HWnd
'アプリケーションのインスタンスを指定
.hInstance = 0
.lpstrCustomFilter = vbNullString
.nMaxCustFilter = 0
.lpfnHook = 0
.lpTemplateName = 0
.lCustData = 0
'フィルタの種類を設定
.lpstrFilter = "すべてのファイル (*.*)" & vbNullChar & "*.*" & vbNullChar
'アクティブなフィルタの番号を設定
.nFilterIndex = 1
'最大ファイル長の設定
.nMaxFile = 511
'ファイルのタイトルを受け取るポインタ
.lpstrFileTitle = String$(512, 0)
'ファイル名の最大長を設定
.nMaxFileTitle = 511
'デフォルトディレクトリの設定
.lpstrInitialDir = "" & strDefault
.lpstrDefExt = ""
'サイズの設定
.lStructSize = Len(ofn)
'ダイアログのタイトルを設定
.lpstrTitle = "ファイルを選択してください。"
'オプションの設定
.flags = OFN_HIDEREADONLY
End With
lngRet = GetOpenFileName(ofn)
If lngRet = 0 Then
ShowOpenFileDlg = ""
Exit Function
End If
' パスとファイル名を返します。
lngRet = InStr(ofn.lpstrFile, vbNullChar)
If lngRet <> 0 Then
strPath = Trim$(Left$(ofn.lpstrFile, lngRet - 1))
End If
ShowOpenFileDlg = strPath
End Function
No.2
- 回答日時:
貼り付けるものは 参考URLを見てみてください。
ページを戻ってけば ソースもあるので参考にしてみてください。
参考URL:http://www.yecc.gr.jp/vb/prog/pricla/pri013.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブフォルダ含むフォルダ内の...
-
ファイルを開く時間測定のスク...
-
ffftpでファイル取得が0バイト...
-
vbs ブック共有を解除
-
動かなくなってしまった古いVBA...
-
VBAでフォルダ内のhtmlファイル...
-
VBA、ファイル名検索から開く、...
-
vbaサブフォルダーをワイルドカ...
-
Excelファイルが存在するPC名が...
-
FileDialog オブジェクトでファ...
-
Accessのウインドウサイズの固定
-
VBAでCSVファイルを読み込もう...
-
VBAで次のような処理をできるか...
-
c# で作成したアプリをある拡張...
-
VBA:ファイルプロパティの一部...
-
excel マクロ PDF化の際のエラ...
-
遅延バインディングの回避方法
-
VB6でUTF-8ファイルの読取りを
-
エクセルのプロパティーでセキ...
-
ファイルのアクセス回数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サブフォルダ含むフォルダ内の...
-
vbaサブフォルダーをワイルドカ...
-
FileDialog オブジェクトでファ...
-
動かなくなってしまった古いVBA...
-
ffftpでファイル取得が0バイト...
-
excel マクロ PDF化の際のエラ...
-
「エクセルファイルが開いてい...
-
VBAでCSVファイルを読み込もう...
-
VBからExcelファイルを開くとき...
-
vbsでのアスタリスクとファイル...
-
VBAでフォルダ内のhtmlファイル...
-
エクセルのVBAで開いている...
-
VB6でUTF-8ファイルの読取りを
-
EXCEL VBAを使ったファイル解析...
-
AccessからOLEオブジェクト型の...
-
タイムスタンプの更新の方法2
-
ExcelVBA 文字コード変換
-
ファイルを開く時間測定のスク...
-
VBAでのファイル名と更新日(作...
-
複数のワークブックのVBAを変更...
おすすめ情報