No.1ベストアンサー
- 回答日時:
標準ではありません。
使用する前にプロジェクトに追加する必要があります。
http://homepage1.nifty.com/Wan/vbb/vbb026-030.htm
参考URL:http://homepage1.nifty.com/Wan/vbb/vbb026-030.htm
No.2
- 回答日時:
貼り付けるものは 参考URLを見てみてください。
ページを戻ってけば ソースもあるので参考にしてみてください。
参考URL:http://www.yecc.gr.jp/vb/prog/pricla/pri013.html
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでフォルダ内のhtmlファイル...
-
Wordのプロパティ・総ページ数...
-
VBA ディレクトリ名をワイルド...
-
フォルダ階層・ファイル名・ペ...
-
VB.net XMLの作成方法 Iniの代替
-
vbsでのアスタリスクとファイル...
-
音量調節プログラムについて
-
VB.NETで.xlsファイル読み取り
-
EXCEL VBAを使ったファイル解析...
-
「エクセルファイルが開いてい...
-
複数のワークブックのVBAを変更...
-
ファイルのアクセス回数について
-
エクセルで複数のコメントのサ...
-
エクセル2010、図が大きすぎま...
-
Wordで差込印刷した後に別々の...
-
コマンドプロンプトで、指定し...
-
カンマ区切りのCSVファイルから...
-
フォルダのサイズを取得したい
-
バッチファイル XCOPYで上書き...
-
【マクロ】ファイル名の日付に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
動かなくなってしまった古いVBA...
-
vbs ブック共有を解除
-
サブフォルダ含むフォルダ内の...
-
ExcelVBA 文字コード変換
-
Accessのウインドウサイズの固定
-
FileDialog オブジェクトでファ...
-
「エクセルファイルが開いてい...
-
vbsでのアスタリスクとファイル...
-
VB6でUTF-8ファイルの読取りを
-
ffftpでファイル取得が0バイト...
-
excel マクロ PDF化の際のエラ...
-
VBAでフォルダ内のhtmlファイル...
-
エクセルのVBAで開いている...
-
ファイルを開く時間測定のスク...
-
Long型で表現できないファイル...
-
複数のワークブックのVBAを変更...
-
VBからExcelファイルを開くとき...
-
【ACCESS VBA】アクセスからデ...
-
VBA、ファイル名検索から開く、...
おすすめ情報