Excel VBA質問箱 IV

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

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


12574 / 13644 ツリー ←次へ | 前へ→

【9774】パターンわけ かい 03/12/16(火) 16:28 質問
【9778】Re:パターンわけ Kein 03/12/16(火) 17:45 回答
【9779】Re:パターンわけ Kein 03/12/16(火) 17:47 発言
【9797】Re:パターンわけ かい 03/12/17(水) 10:36 質問
【9832】Re:パターンわけ Kein 03/12/18(木) 0:33 回答
【9835】Re:パターンわけ かい 03/12/18(木) 9:36 お礼

【9774】パターンわけ
質問  かい  - 03/12/16(火) 16:28 -

引用なし
パスワード
   質問です。
たとえばcsvファイルなどで
27,76 →この場合ならメッセージ1
29,6E
.
.
.

28,76,2 →この場合ならメッセージ2 のように
29,6D,2
.
.
.

のように二つのファイルの情報を区別
して見分けることはできますでしょうか?

【9778】Re:パターンわけ
回答  Kein  - 03/12/16(火) 17:45 -

引用なし
パスワード
   カンマ1つで Type1, 2つで Type2 と決め打ちするなら

Sub MyText()
  Dim MyF As String, Buf As String, MsSt As String

  MyF = Application.GetOpenFileName("CSVファイル(*.csv),*.csv")
  If MyF = "False" Then Exit Sub
  Open MyF For Input Access Read As #1
  Line Input #1, Buf
  If InStr(1, Buf, ",") = InStrRev(Buf, ",", -1) Then
   MsSt = "Type 1 です。
  Else
   MsSt = "Type 2 です。"
  End If
  Close #1
  MsgBox MsSt
End Sub

などとしても良いと思います。 

【9779】Re:パターンわけ
発言  Kein  - 03/12/16(火) 17:47 -

引用なし
パスワード
   ただしカンマが1つも無い場合は、InStr も InStrRev も 0 になるので、
当然 Type1 として扱われますが・・。

【9797】Re:パターンわけ
質問  かい  - 03/12/17(水) 10:36 -

引用なし
パスワード
   カンマの数が1なら →1
2なら →2
3なら →3
のようにしたいのですができますでしょうか?

【9832】Re:パターンわけ
回答  Kein  - 03/12/18(木) 0:33 -

引用なし
パスワード
   Sub MyText2()
  Dim MyF As String, Buf As String
  Dim i As Integer
  Dim DAry As Variant   

  MyF = Application.GetOpenFileName("CSVファイル(*.csv),*.csv")
  If MyF = "False" Then Exit Sub
  Open MyF For Input Access Read As #1
  Line Input #1, Buf
  DAry = Split(Buf, ",")
  Close #1
  i = UBound(DAry): Erase DAry
  MsgBox "Type " & i & " です"
End Sub

で、どうでしょーか ?

【9835】Re:パターンわけ
お礼  かい  - 03/12/18(木) 9:36 -

引用なし
パスワード
   ありがとうございました。
できました!!

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