[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでファイルオープン』(KISS)Ver2003XP
いつもお世話になっております
下記コードでファイルオープンすることは解ったのですが
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?")
随時ファイルが増えまして 最新のファイルを開けたいのですが
ご教授お願いします
ファイル名の特徴は下記のようになっております
log088_1304230627.csv
ファイルナンバー(log088_)日付(130423)データー数(0627).csv
ファイルナンバーの一番大きい数若しくは日付が最新のファイルを開けたいのですが
どの様に指定すればいいのでしょうか
お手数と思いますが 宜しくお願いします
>若しくは
どちらが優先?
それと(わかっているんだとはおもうけど)Application.GetOpenFilename でファイルはオープンできないよね。 あくまで、ここで選択されたもののパスを使って自分で開く。
追記で
ファイルナンバーはファイル名のなかのものを比較するんだろうけど、 日付は?はりファイル名の中のもの?それとも、本当の作成日とか更新日?
それと、logなんとか_なんとか という構成はきまっている? それとも、頭が log ではないものもある? これらが入ったフォルダは決まっている?決まっていない?
(ぶらっと)
早速のお返事有難うございます
例に挙げたコード使ってませんでした
どっちも同じ条件で増えていきます
どちらでも構いません
ファイルナンバー大きいもの=最新日時
上記の様になっております
下記のコードよく 利用しています
Function IsFileOpen(myFileName As String) As Boolean On Error Resume Next IsFileOpen = Workbooks(myFileName).Name = myFileName End Function
Private Sub CommandButton10_Click()
If Not IsFileOpen("PLAN.xls") Then Workbooks.Open (ThisWorkbook.Path & "\PLAN.xls")
Workbooks("MAIN.xls").Close False End Sub
早速のお返事有難うございます
必ず logは頭に入ります
ファイル名で構成は決まっています
log086_1304190643.cvs
log087_1304220621.cvs
log088_1304230627.cvs
上記のように増えていきます
宜しくお願いします
ファイルフォルダーは決まっています
返答が曖昧で申し訳ございません
それでは以下で試してみて。フォルダパスは実際のものに変更してね。
Sub Sample() Dim myPath As String Dim maxNum As Long Dim maxFile As String Dim fName As String Dim d As Variant Dim n As Long
myPath = "c:\TEST\" 'フォルダパスは実際のものに。
fName = Dir(myPath & "log*.csv")
Do While Len(fName) > 0 d = Split(fName, "_") If UBound(d) = 1 Then If IsNumeric(Mid(d(0), 4)) And IsNumeric(Left(d(1), 6)) Then n = Mid(d(0), 4) If n > maxNum Then maxNum = n maxFile = myPath & fName End If End If End If fName = Dir() Loop
If Len(maxFile) = 0 Then MsgBox "対象ファイルがありません" Else MsgBox "対象ファイルは " & maxFile '↑ MsgBox はサンプル確認用。実際には、ここでmaxFile を開く End If
End Sub
(ぶらっと)
追記質問ですが
MsgBoxに」ファイル名は出てくるのですが
なぜ開かないのでしょうか
再度ご教授御願いします
>なぜ開かないのでしょうか
だから、コード内にも書いたけど、サンプル確認用としてメッセージをだしているだけで ファイルを開くコードは書いていない。 コード内に書いたように、自分で『maxFile』を開くコードを、ここに記述してね。 (そのコードはわかるよね?わからなければ、実際に何かcsvファイルを開く操作をマクロ記録すれば 基本的なコードは生成されるので、それを使って、まずは がんばってみよう)
(ぶらっと)
よく読んでませんでした
了解しました いろいろ有難うございました
お蔭様で出来るように成りました
本当に助かりました
今回でこのミッションから開放されるので
とりあえずほっとしています
また 機会が有りましたら宜しくお願いいたします
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.