Excel VBA質問箱 IV

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

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


2591 / 13645 ツリー ←次へ | 前へ→

【66988】ファイル名を取得して特定のファイルを開ける ZZ TOP 10/10/23(土) 23:10 質問[未読]
【66989】Re:ファイル名を取得して特定のファイルを... keisuke 10/10/24(日) 1:44 発言[未読]
【66990】Re:ファイル名を取得して特定のファイルを... ZZ TOP 10/10/24(日) 5:56 発言[未読]
【66992】Re:ファイル名を取得して特定のファイルを... keisuke 10/10/24(日) 16:21 質問[未読]
【66994】Re:ファイル名を取得して特定のファイルを... ZZ TOP 10/10/24(日) 19:38 発言[未読]
【66998】Re:ファイル名を取得して特定のファイルを... keisuke 10/10/25(月) 2:33 発言[未読]
【66999】Re:ファイル名を取得して特定のファイルを... ZZ TOP 10/10/25(月) 7:38 発言[未読]
【67007】Re:ファイル名を取得して特定のファイルを... keisuke 10/10/25(月) 19:55 発言[未読]
【67009】Re:ファイル名を取得して特定のファイルを... keisuke 10/10/25(月) 20:20 回答[未読]
【67031】Re:ファイル名を取得して特定のファイルを... keisuke 10/10/27(水) 19:20 回答[未読]

【66988】ファイル名を取得して特定のファイルを開...
質問  ZZ TOP  - 10/10/23(土) 23:10 -

引用なし
パスワード
   初心者です。

Sheet1 D8のセルに日付データ、例えば"2010/10/24"を入力すると
そのデータを参照して、別のフォルダーに入っている
"241010"という名称のOut Look アイテム(メール)を開きたいのですが、
どうすればいいのでしょうか?

よろしくご教示ください。

【66989】Re:ファイル名を取得して特定のファイル...
発言  keisuke  - 10/10/24(日) 1:44 -

引用なし
パスワード
   ▼ZZ TOP さん:
こんばんは、、、
作業の流れとしては

フォルダ内のファイル名一覧取得
D8のセルの日付データを変換
上の2点を比較する
あったものをOPEN
でよいと思いますが、、、、どの当たりを希望されていますか?

【66990】Re:ファイル名を取得して特定のファイル...
発言  ZZ TOP  - 10/10/24(日) 5:56 -

引用なし
パスワード
   ▼keisuke さん:
あ、まさにこの流れです!!

【66992】Re:ファイル名を取得して特定のファイル...
質問  keisuke  - 10/10/24(日) 16:21 -

引用なし
パスワード
   ▼ZZ TOP さん:
>▼keisuke さん:
>あ、まさにこの流れです!!

の何が知りたいのですか??

【66994】Re:ファイル名を取得して特定のファイル...
発言  ZZ TOP  - 10/10/24(日) 19:38 -

引用なし
パスワード
   ▼keisuke さん:
コードをご教示いただければありがたいです。

【66998】Re:ファイル名を取得して特定のファイル...
発言  keisuke  - 10/10/25(月) 2:33 -

引用なし
パスワード
   ▼ZZ TOP さん:
>▼keisuke さん:
>コードをご教示いただければありがたいです。

まずご自分で書いたコード(試したこと)を示してください。
全部書くことも可能ですが、、、、、
それでは、何か変更したいときにできなくなりますので。

【66999】Re:ファイル名を取得して特定のファイル...
発言  ZZ TOP  - 10/10/25(月) 7:38 -

引用なし
パスワード
   ▼keisuke さん:
初心者が色々貼り合わせてやってしまってますのでお恥ずかしい限りですが、下記を作ってみたもののうまくいきません。
ワークシートのセルC8には出張から帰って来た帰着日の日付データが入っています。
とりあえずこのセルに出張から帰国した日を入れると、別のフォルダーに格納されている、帰着日の為替換算リストが記載されたアウトルックデータを開きたく。
アウトルックデータは例えば2010年8月20日分なら"200810"という名前でTestというフォルダーに格納されております。
下のコードではC8の日付データを参照させるところまで行っておりませんでして、とりあえずC8のセルデータが変更されると、200810のファイルを開こうとしてみましたが、これもうまく行きませんでした。


Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C8")) Is Nothing Then
Exit Sub
Else

Dim StrFN As String
StrFN = "C:\Documents and Settings\デスクトップ\Test¥200810.Outlookアイテム"

If Dir(StrFN) <> "" Then
  MsgBox Dir(StrFN) & "が見つかりました。"
Else
  MsgBox "ファイルが見つかりません。"
End If
End If
End Sub

【67007】Re:ファイル名を取得して特定のファイル...
発言  keisuke  - 10/10/25(月) 19:55 -

引用なし
パスワード
   ▼ZZ TOP さん:
>▼keisuke さん:

解りやすいご返答ありがとうございます、
ちょっと時間が作れなくて申し訳ありませんです。

StrFN = (Format(Range("C8"), "ddmmyy"))
これで、ファイル名と同じStringが取れます。

後は、フォルダを指定してファイル名が同じものを開くですが、
200810.Outlookアイテムのファイル形式はどの様になっていますか?


>

【67009】Re:ファイル名を取得して特定のファイル...
回答  keisuke  - 10/10/25(月) 20:20 -

引用なし
パスワード
   フォルダ内のファイル一覧をするプロシージャです。

動作を確認してみてください、
焼く使われるパターンですので余分な変数もありますが、、、、
ThisWorkbook.Path この命令はエクセルある場所のパスを示します。
strPATHNAME = ”**************”に探したいフォルダのパスを入れてください。
ThisWorkbook.Pathで指定可能ですと探すフォルダをいちいち指定しなくても
良かったりするので、エクセルブックを同じフォルダに入れておくと便利です。


  Dim myCurDir As String
  Dim myFile As String
  Dim myTitle As String
  Const cnsTITLE = "フォルダ内のファイル名一覧取得"
  Const cnsDIR = "\*.*"
  Dim xlAPP As Application
  Dim strPATHNAME As String
  Dim strFILENAME As String
 
  strPATHNAME = ThisWorkbook.Path & "\加工データ"
 
  If Dir(strPATHNAME, vbDirectory) = "" Then
    MsgBox "指定のフォルダは存在しません。", vbExclamation, cnsTITLE
    Exit Sub
  End If

  ' 先頭のファイル名の取得
  strFILENAME = Dir(strPATHNAME & cnsDIR, vbNormal)
  Do While strFILENAME <> ""
   Debug.Print (strFILENAME)
    strFILENAME = Dir()
   Loop

【67031】Re:ファイル名を取得して特定のファイル...
回答  keisuke  - 10/10/27(水) 19:20 -

引用なし
パスワード
   こんな感じになると思いますが、ファイル形式が不明の為
CVSなどのWORKBOOKを開くことを前提にしています。
参照設定もいったかもしれません(Microsoft Office 11.0 Object Libraly)
記憶が定かではありませんです。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim STRFN As String

If Intersect(Target, Range("C8")) Is Nothing Then
  Exit Sub
Else
 STRFN = (Format(Range("C8"), "ddmmyy"))
 Call Fileopen(STRFN)
End If

End Sub

Sub Fileopen(STRFN)

  Dim myCurDir As String
  Dim myFile As String
  Dim myTitle As String
  Const cnsTITLE = "フォルダ内のファイル名一覧取得"
  Const cnsDIR = "\*.*"
  Dim xlAPP As Application
  Dim strPATHNAME As String
  Dim strFILENAME As String
  Dim s1 As Integer
  
  'ファイルを探したいフォルダを指定します
  strPATHNAME = ThisWorkbook.Path & "\加工データ"
 
 'フォルダがあるか確認
  If Dir(strPATHNAME, vbDirectory) = "" Then
    MsgBox "指定のフォルダは存在しません。", vbExclamation, cnsTITLE
    Exit Sub
  End If

  ' 先頭のファイル名の取得
  strFILENAME = Dir(strPATHNAME & cnsDIR, vbNormal)
  
  'ファイルがなくなるまで探します
  Do While strFILENAME <> ""
    'ファイル名にSTRFNが含まれなければ0が帰ります
    s1 = InStr(strFILENAME, STRFN)
   If s1 <> 0 Then '見つかればファイルをOPENただしこの場合はあWORKBOOKです。
      Workbooks.Open Filename:=strPATHNAME & "\" & strFILENAME
      Exit Sub
   Else
    strFILENAME = Dir()
   End If
   Loop

End Sub

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