• ベストアンサー

GetOpenFileName関数でフォルダーを開くには、

GetOpenFileName関数でフォルダーを開くには、 この関数はファイルを開く関数ですが、フォルダーを開くためのパラメータ等あるでしょうか? 又はフォルダーを開く関数があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> フォルダーを開く関数があれば SHBrowseForFolderでしょう。

7777777v
質問者

お礼

一発で解決しました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル2003 GetOpenFilenameで呼び出される階層について

    エクセル2003VBAでGetOpenFilenameを使って ファイルを選択してその後の処理に用いてます。 質問なのですが GetOpenFilenameで呼び出されてくるフォルダの階層 がカレントフォルダだったと何処かで読んだ記憶があったので カレントフォルダをchdirを持ちいて必要なフォルダを呼び出せるよう しているのですが、呼び出したい階層のフォルダがネットワークに つながっているPC(サーバー機)の場合、どうしても欲しい階層が 呼び出せないのですが、どのようにしたらよいのでしょうか? また、GetOpenFilenameで呼び出されるダイアログの動きなどを 追跡(調べる方法)などあるのでしょうか? ご教授のほど宜しくお願いいたします。

  • VC++ 2010 GetOpenFileNameがうまくいかない

    VC++ 2010 GetOpenFileNameがうまくいかない VC++2010でファイルを選択してそれをフルパスで表示する プログラムを作っているんですけど、ソースに GetOpenFileNameを入れたとたん識別子が見つからないだの なんだのというエラーが出てきてしまいます。 どなたかいい解決策がある方は教えてください。

  • getOpenFilenameの使い方

    VB2005において下記のようなサンプルプログラムを書いていますが、 'GetOpenFilename'は'System.Windows.Forms.Application'のメンバーではありません。 というエラーメッセージが出ます。 要はファイルを読み込む前にファイル選択用のウィンドウを開きたいのですが、 どのような書き方をしたらいいのでしょうか。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim filename As VariantType filename = Application.GetOpenFilename("Text Files (*.txt), *.txt") End Sub End Class

  • GetOpenFilenameメソッド アクセス

    エクセルには GetOpenFilenameメソッドが用意されてるから Debug.Print Application.GetOpenFilename("Microsoft Excelブック,*.xls") のようにしてファイル名を取得できますが アクセスで同じような事がしたい場合、どのメソッドを使えば良いでしょうか? アクセスにGetOpenFilenameメソッドはないようです。

  • GetOpenFileName()について

    Visual C++(Win32API)でアプリケーションを開発しているのですが,GetOpenFileNameで複数のファイル名を取得できるもののファイルごとの分割が出来ません。ちなみに,複数のファイルを選択できるようにはしてあります。また,環境の関係上文字列の型はLPTSTRを使わずLPWSTRを利用しています。環境は以下の通りです。 OS:Windows 7 SP1 Visual Studio:Visual Studio 2010 Professional 回答よろしくお願いします。

  • VBAのGetOpenFilenameについて

    VBAのGetOpenFilenameについての質問です。 このメソッドを使用すると一番初めは"マイドキュメント"内のdirが表示されるのですが、このデフォルトの指定を変更することは可能でしょうか。 一度ファイルを指定してやると、次回からはそのファイルのdirが はじめに開くので、できると思うのですが、方法がどこにも載ってません。 ご存知の方、よろしくお願いします。

  • GetOpenFileNameでファイル名でのフィルタ

    こんにちは, EXCEL2007 VBAを用いて ワークブックオープン時にファイル選択ダイアログを表示しています。  GetOpenFileName("日報ファイル(*.CSV),*.CSV",false) 上記は拡張子*.CSVでフィルタを掛けていますが、 ファイル名を絡めてフィルタを掛けることはできないのでしょうか? 日報ファイルなら*day.CSV,月報なら*month.CSVといった様に・・・  GetOpenFileName("日報ファイル(*day.CSV),*day.CSV",false) 上の様にすると*.*となりフィルタがかかりません。 ファイル選択ダイアログのファイル名のところに*day.CSVと手入力すれば フィルタがかかります。これをVBAから行えないでしょうか? よろしくお願いいたします。

  • ◆ GetOpenFilename()で複数ファイル選択ができない、I

    ◆ GetOpenFilename()で複数ファイル選択ができない、IsArray()でNG。。。   複数選択のやり方をOKWaveで見つけ便利に活用させて頂いていたのですが、  今年になって、機能しなくなり困っています。手が出ない状況です。  ご教示、よろしくお願いします。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 概要:Debugでみると、IsArray()の結果がfalse(GetOpenFilename不成功)  使用環境:  Microsoft EXCEL 2002 (10.6856.6853)SP3  Microsoft Visual Basic 6.0  Microsoft Windows XP Professional version 2002 Service Pack 3 不具合の発生箇所: 取込元ファイル = Application.GetOpenFilename(FileFilter:="Excelブック(*.xls),E*.xls", _ Title:="取込元の4ファイルを選択。Ctrlキーを押しながら複数選択。", MultiSelect:=True) If IsArray(取込元ファイル) Then ' 読む込み成功の確認、IsArray関数 <問題のマクロ> Sub メイン() ' ------------------------------------------------------------------- ' -  取込元のファイルを選択してオープン  ' ------------------------------------------------------------------- Dim 取込元ファイル, Work1, Work3 As Variant Dim i As Integer 取込元ファイル = Application.GetOpenFilename(FileFilter:="Excelブック(*.xls),E*.xls", _ Title:="取込元の4ファイルを選択。Ctrlキーを押しながら複数選択。", MultiSelect:=True) If IsArray(取込元ファイル) Then ' 読む込み成功の確認、IsArray関数 For i = 1 To UBound(取込元ファイル) '配列の上限UBound(データの件数 4件) Workbooks.Open 取込元ファイル(i)   'ファイルオープン Work1 = Dir(取込元ファイル(i)) WORK3 = WORK3 & Work1 & vbCrLf 'MSG表示用(取込んだファイル名一覧)   MsgBox "選択したファイルは " & vbCrLf & WORK3 & " ", vbInformation Next i Else MsgBox "取込元ファイルのオープンを" & vbCrLf & "中止しました", vbExclamation End If End Sub ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  • GetOpenFilename メソッドについて

    ACCESSのVBAで、GetOpenFilename メソッドを使いたいのですが、VBAで記述を行うとエラーになってしまいます。EXCELのVBAでは、記述できます。ACCESSのVBAでは、使用できないのでしょうか? どなたか、教えて下さい。 (ACCESSは、Office XPです)

  • GetOpenFileName 開かない

    win7 32bitで使用していたVBAが、win10 64bitで動作せず、困っております。 ダイアログが開かないまま先に進んでしまうのですが、どのように修正すれば良いでしょうか? #If Win64 Then Public Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" ( pOpenFileName As OPENFILENAME) As Long #Else Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" ( pOpenFileName As OPENFILENAME) As Long #End If Type OPENFILENAME lStructSize As Long hwndOwner As LongPtr hInstance As LongPtr lpstrFilter As String lpstrCustomFilter As Long nMaxCustrFilter 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 lCustrData As LongPtr lpfnHook As LongPtr lpTemplateName As Long End Type Public Const OFN_ALLOWMULTISELECT = &H200 Public Const OFN_CREATEPROMPT = &H2000 Public Const OFN_EXPLORER = &H80000 Public Const OFN_FILEMUSTEXIST = &H1000 Public Const OFN_HIDEREADONLY = &H4 Public Const OFN_NOCHANGEDIR = &H8 Public Const OFN_NODEREFERENCELINKS = &H100000 Public Const OFN_NONETWORKBUTTON = &H20000 Public Const OFN_NOREADONLYRETURN = &H8000 Public Const OFN_NOVALIDATE = &H100 Public Const OFN_OVERWRITEPROMPT = &H2 Public Const OFN_PATHMUSTEXIST = &H800 Public Const OFN_READONLY = &H1 Public Const OFN_SHOWHELP = &H10 Public Const OFN_EXTENSIONDIFFERENT = &H400 Public Function GetFileName(pstrDir As String, pstrFile) As String Dim pOpenFileName As OPENFILENAME Dim lngRet As Long pOpenFileName.hwndOwner = Application.hWndAccessApp pOpenFileName.hInstance = 0 ' pOpenFileName.lpstrFilter = "CSVファイル (*.xlsx)" & String(1, vbNullChar) & "*.xlsx" & String(2, vbNullChar) ' pOpenFileName.lpstrFilter = "全てのファイル (*.*)" & String( 1, vbNullChar) & "*.*" & String(2, vbNullChar) pOpenFileName.lpstrCustomFilter = 0 pOpenFileName.nMaxCustrFilter = 0 pOpenFileName.nFilterIndex = 1 pOpenFileName.lpstrFile = String(511, vbNullChar) pOpenFileName.nMaxFile = 511 pOpenFileName.lpstrFileTitle = String(512, vbNullChar) pOpenFileName.nMaxFileTitle = 511 pOpenFileName.lpstrInitialDir = pstrDir pOpenFileName.lpstrTitle = String(1, vbNullChar) pOpenFileName.nFileOffset = 0 pOpenFileName.nFileExtension = 0 pOpenFileName.lpstrDefExt = String(1, vbNullChar) pOpenFileName.lCustrData = 0 pOpenFileName.lpfnHook = 0 pOpenFileName.lpTemplateName = 0 pOpenFileName.lStructSize = Len(pOpenFileName) pOpenFileName.Flags = OFN_HIDEREADONLY _ Or OFN_EXPLORER lngRet = GetOpenFileName(pOpenFileName) GetFileName = Left(pOpenFileName.lpstrFile, _ InStr(pOpenFileName.lpstrFile, vbNullChar) - 1) If Len(GetFileName) Then pstrFile = Left(pOpenFileName.lpstrFileTitle, _ InStr(pOpenFileName.lpstrFileTitle, vbNullChar) - 1) pstrDir = Left(GetFileName, Len(GetFileName) - Len(pstrFile) - 1) End If End Function '実行プロシージャ Private Sub CmdlgTest() Dim strPath As String, strfile As String Debug.Print GetFileName(strPath, strfile) End Sub