Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


34448 / 76738 ←次へ | 前へ→

【47500】Re:VBAからファイルを開く
回答  Hirofumi  - 07/3/12(月) 18:58 -

引用なし
パスワード
   こんなかな?

以下を全て標準モジュールに記述してください

Option Explicit

Public Sub Sample()

  Dim i As Long
  Dim vntDate As Variant
  Dim strPath As String
  Dim vntFileNames As Variant
  Dim strProm As String
  
  strProm = "処理する日付を入力してください。"
  Do
    vntDate = InputBox(strProm, "日付入力", Date)
    If IsDate(vntDate) Then
      Exit Do
    Else
      strProm = "日付が間違っていますので、再度入力してください。"
    End If
  Loop Until vntDate = ""
  
  'キャンセルボタンが押された時
  If vntDate = "" Then
    strProm = "マクロがキャンセルされました"
    GoTo Wayout
  End If
  
  'ファイルのBaseNameを作成
  vntFileNames = Format(DateValue(vntDate), "yy-mm-dd") & "*"
  'ダイアログを開くフォルダを指定
  strPath = ThisWorkbook.Path
  
  'ダイアログを開く
  If Not GetReadFile(vntFileNames, strPath, True) Then
    strProm = "ファイル選択がされませんのでマクロを終了します"
    GoTo Wayout
  End If
  
  '画面更新を停止
'  Application.ScreenUpdating = False
  
  For i = 1 To UBound(vntFileNames)
    MsgBox vntFileNames(i) & "を開きます"
'    Workbooks.Open FileName:=vntFileNames(i)
    'ここに一連の処理プログラムを挿入する。
  Next i
  
  strProm = "処理が完了しました"
  
Wayout:
  
  '画面更新を再開
  Application.ScreenUpdating = True
  
  MsgBox strProm, vbInformation
  
End Sub

Private Function GetReadFile(vntFileNames As Variant, _
            Optional strFilePath As String, _
            Optional blnMultiSel As Boolean _
                    = False) As Boolean

  Dim strFilter As String
  
  'フィルタ文字列を作成
  strFilter = "Excel File (*.xls),*.xls"
  '読み込むファイルの有るフォルダを指定
  If strFilePath <> "" Then
    'ファイルを開くダイアログ表示ホルダに移動
    ChDrive Left(strFilePath, 1)
    ChDir strFilePath
  End If
  'もし、ディフォルトのファイル名が有る場合
  If vntFileNames <> "" Then
    SendKeys vntFileNames & "{TAB}", False
  End If
  '「ファイルを開く」ダイアログを表示
  vntFileNames _
      = Application.GetOpenFilename(strFilter, 1, , , blnMultiSel)
  If VarType(vntFileNames) = vbBoolean Then
    Exit Function
  End If
  
  GetReadFile = True
  
End Function

2 hits

【47479】VBAからファイルを開く yhar 07/3/12(月) 9:18 質問
【47483】Re:VBAからファイルを開く とおりすがり 07/3/12(月) 10:59 発言
【47485】Re:VBAからファイルを開く yhar 07/3/12(月) 11:22 質問
【47486】Re:VBAからファイルを開く Jaka 07/3/12(月) 11:31 発言
【47497】【複数ファイル選択は?】VBAからファイル... yhar 07/3/12(月) 16:22 質問
【47498】Re:【複数ファイル選択は?】VBAからファイ... ウッシ 07/3/12(月) 16:46 回答
【47500】Re:VBAからファイルを開く Hirofumi 07/3/12(月) 18:58 回答
【47503】【Sendkeys?】VBAからファイルを開く yhar 07/3/12(月) 19:42 発言
【47505】Re:【Sendkeys?】VBAからファイルを開く Hirofumi 07/3/12(月) 20:04 回答
【47508】IMEを直前で無効に出来れば… yhar 07/3/12(月) 20:17 発言
【47510】Re:IMEを直前で無効に出来れば… Hirofumi 07/3/12(月) 21:27 発言
【47512】Re:IMEを直前で無効に出来れば… Hirofumi 07/3/12(月) 22:07 回答
【47522】皆さんありがとうございました。 yhar 07/3/13(火) 8:33 お礼

34448 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free