• ベストアンサー

【エクセルVBA】「ファイルを開く」のダイアログボックスの後に文字を追加したい

【エクセルVBA】で、「ファイルを開く」の操作を複数回するので、 ダイアログボックスに例えば「ファイルを開く:ABC」というよう に、「ファイルを開く」の後に文字を追加したいのですが、 どうすれば良いでしょうか。 現在、下記のようなマクロですが、具体的にどうすれば良いか教えて下さい。 宜しく、お願いします。  Dim fname1 As String  fname1 = Application.GetOpenFilename( _    filefilter:="すべてのファイル,*.*")  If fname1 = "False" Then Exit Sub

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

8.3 ファイル選択ダイアログを使う http://www.happy2-island.com/excelsmile/smile03/capter00803.shtml 参考に。 fname1 = Application.GetOpenFilename( _ filefilter:="すべてのファイル,*.*" _ , Title:="ファイルを開く:ABC") とか。

pegasusv
質問者

お礼

有難うございます。 回答の通りで出来ました。 また、参考リンクも教えて頂き、大変参考になりました。 ときどき分からないことがあれば質問しており、とても助かっています。 今後とも、宜しくお願いします。

関連するQ&A

  • VBAで質問です

    下記のVBAを作成しました。 ダイアログからtxtファイルをエクセルで開きます。 ここで作成されたシートを別のブックの「ログ」というシートに貼り付けたいのです。 宜しくお願いします。 ・txtファイルは日付が入る為、毎回違う名前になります。 ・ Private Sub CommandButton4_Click() Dim fname As String fname = Application.GetOpenFilename( _ filefilter:="Excelファイル,*.xls,すべてのファイル,*.*") If fname = "false" Then Exit Sub Workbooks.OpenText Filename:=fname

  • エクセルのシートのデータをVBAを使ってCVS形式で保存したいのですが、文字化けしないようにするにはどうしたらいいでしょうか?

    エクセルのシートのデータをVBAを使ってCVS形式で保存したいのですが、文字化けしてしまいます。手動で「名前を付けて保存」すると文字化けしません。文字化けしないようにするにはどうしたらいいでしょうか? どなたかお教えいただきたく、よろしくお願いします。 ---------------------------------------------------------------------- Sub test5() Dim aaa As String Dim fname As Variant aaa = Format(Now, "YYMMDD") fname = Application.GetSaveAsFilename(InitialFileName:=aaa & ".csv", fileFilter:="csvファイル(*.csv), *.csv") If fname = False Then Exit Sub '保存 Worksheets("sheet1").SaveAs fname End Sub

  • Excel VBA:ダイアログを使ってファイル名を取得したい

    ファイルを開く際に、GetOpenFilenameを使用し、以下のように記述しています。 Dim sFName As String Dim sPath As String sPath = ThisWorkbook.Path & "\データフォルダ" ChDir sPath sFName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", MultiSelect:=False) このとき、win98ですと、指定したフォルダが表示されますが、 win2000やXPですと、Excelのカレントフォルダが表示されます。 ダイアログ表示したときに、任意のフォルダを表示させるには、どのようにしたらよいですか? ご回答よろしくお願いします。

  • Excelのマクロでファイルを開くのダイアログをキャンセルしたときの挙

    Excelのマクロでファイルを開くのダイアログをキャンセルしたときの挙動についてです。 マクロで次のような記述をしています。 Sub tekitou() Dim vntFileName As Variant vntFileName = _ Application.GetOpenFilename( _ FileFilter:="エクセルファイル(*.xls),*.xls" & _ ",CSVファイル(*.csv),*.csv" _ , FilterIndex:=1 _ , Title:="ファイルを開く" _ , MultiSelect:=False _ ) If vntFileName <> "False" Then Workbooks.Open Filename:=vntFileName End If うんたらかんたら End Sub このとき、ファイルを開くのダイアログをキャンセルしたときでも「うんたらかんたら」の部分が実行されてしまいます。 キャンセルを押したときにそこでそれ以降をスキップして何もなかったかのような挙動をさせるためにはどのような記述をすればいいのでしょうか?

  • EXCELでダイアログボックスを開く時表示ファイル名を指定したい

    Openfilenameでファイルを選択するような機能をEXCELのVBAで作っています。 表示するファイルの種類までは、指定の仕方がわかるのですが、 特定のファイル名のものを表示したい時のVBAの記述方法を教えてください。 下記は、作っているプログラムの抜粋なのですが、 これだと、全部のcvsファイルが表示されます。 このCSVファイルで、ファイル名が、*XXX.csvのものをダイアログボックスに表示したいです。 Dim File_list As Variant Dim Book As Workbook Dim j As Integer File_list = Application.getopenfilename(".csvfile(*csv),*.csv") If File_list = False Then Exit Sub Application.EnableEvents = False Set Book = Workbooks.Open(File_list)

  • VBAでファイルOPEN ダイアログを使用したいです

    現在、指定したファイルを開くVBAを書いているのですが、 ↓こんなの ----------------------------------------------------------- Dim vntFileName As Variant 'ファイルを開くダイアログを開きます vntFileName = _ Application.GetOpenFilename( _ FileFilter:="エクセルファイル(*.xls),*.xls" & _ ",CSVファイル(*.csv),*.csv" _ , FilterIndex:=1 _ , Title:="開けゴマ" _ , MultiSelect:=False _ ) 'ファイルが選択されているときは '選択したファイルをWorkbooks.Openメソッドで開きます If vntFileName <> False Then Workbooks.Open Filename:=vntFileName End If ---------------------------------------------------------------- あらかじめ開くディレクトリを、ネットワーク上のフォルダに指定したいのですが、どこにパスを書いたらいいのか、わかりません。 教えていただけますでしょうか。

  • VBAで複数のエクセルファイルを自動圧縮

    VBAで複数のエクセルファイルを自動圧縮 お世話になります。 以下サイトなどを参考にVBAでエクセルファイルの圧縮をさせようとしています。 ダイアログで圧縮したいファイルを指定して圧縮するところまではできました。 http://oshiete.hmv.co.jp/qa5155002.html ■やりたいこと 特定のフォルダにある複数のファイルを個別に圧縮して、それぞれzipファイルとしたい。 圧縮するファイルを指定するダイアログは出さずに、自動化したい。 ■VBAの記述 Dim Filename As String Dim strArchiveName As String Dim strCommand As String Dim RC As Long Dim hWnd As Long Dim strOutPut As String * 512 Dim lngSize As Long Dim strPassWord As String strPassWord = "pass" 'ハンドル取得 hWnd = FindWindow("XLMANI", Application.Caption) '★ファイル名取得★ Filename = Application.GetOpenFilename("*.xls(*.xls),*.xls") If Filename = "False" Then Exit Sub Filename = Mid$(Filename, InStrRev(Filename, "\") + 1) strArchiveName = Mid$(Filename, InStrRev(Filename, "\") + 1, InStrRev(Filename, ".") - InStrRev(Filename, "\") - 1) & & ".zip" strCommand = "-uP " & strPassWord & " " & strArchiveName & " " & Filename lngSize = Len(strOutPut) RC = Zip(hWnd, strCommand, strOutPut, lngSize) ■質問  ファイル名を毎回変えて繰り返し処理すればいいと考えてますが、  圧縮するファイルを指定するダイアログを消すことができません。。。  ファイル名を以下のように直接指定しましたが、以下エラーが出てしまいます。  VBAで取得したファイル名で圧縮するような記述の仕方があればご教示いただけると助かります! '★ファイル名取得★ Filename = Application.GetOpenFilename("*.xls(*.xls),*.xls") If Filename = "False" Then Exit Sub   ↓以下に変更したがエラー  Filename = "C:\" & "test.xls" ←とりあえずファイル名を固定で指定したつもり。。  ●イミディエイトに表示されるエラー   zip warning: name not matched: test.xls   zip warning: test.zip not found or empty

  • エクセルにて保存時に同名のファイル名は実行拒否する

    今エクセルで、名前を付けて保存のマクロを作っています。 同ファイル名の物が同じフォルダ内にあれば上書きできますが、強制的に上書きできない様にする方法ってありますか? マクロをかじって間もないので、考え方もイマイチな状態で、困っております。 ご教示宜しくお願い致します。 Sub AAA() Dim fname As String fname = Application.Dialogs(xlDialogSaveAs).Show If fname = "False" Then MsgBox "キャンセルが押されました。処理を中止します" Exit Sub End If End sub

  • 複数のCSVファイルを自動でエクセルに変換したい

    フォルダの中に、300近いCSVフォルダがあります。 ネットで探したマクロVBAでやってみたところ、一つのCSVファイルを選び、それをエクセルファイルに変換できました。 このマクロを使って、フォルダ内にあるすべてのCSVファイルを一気にエクセルに変換するには、どうしたらいいのでしょうか。 ご教授のほど、よろしくお願いいたします。 Sub CSVからXLSX() Dim varFileName As Variant varFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", _ Title:="CSVファイルの選択") If varFileName = False Then Exit Sub End If Workbooks.Open Filename:=varFileName ActiveSheet.Cells.Copy ThisWorkbook.ActiveSheet.Cells ActiveWorkbook.Close SaveChanges:=False End Sub

  • EXCELにテキストファイルを読込むマクロ作成

    EXCELにテキストファイルを「カンマ区切り」で読み込みしたいのですが、 下記マクロの内容ではカンマ区切りで正しくインポートされないのですが 作成方法ご伝授お願いいたします。 sub macro1()  dim myFile as string  myfile = application.getopenfilename(filefilter:="テキストファイル(*.txt),*.txt")  if myfile = "False" then exit sub  workbooks.opentext _   filename:=myfile, _   datatype:=xldelimited, _   textqualifier:=xltextqualifierdoublequote, _   tab:=true, _   comma:=true, _   space:=true ’予備  activeworkbook.worksheets(1).move before:=thisworkbook.worksheets(1) end sub