人気マンガがだれでも無料♪電子コミック読み放題!!

ご協力お願いします。

あるログデータを取得したcsvファイルを作成しました。しかし、データ量も多く見やすいようにソートをかけたいのですが方法がわかりません。csvファイルの中身は以下のようになっています。
___________________________
| 端末ID | ユーザーID | 日付 | 時間 |
―――――――――――――――――――――――――
| ITD002 | 00000001 |2005/08/22| 11:00 |
―――――――――――――――――――――――――
| ITD002 | 00000003 |2005/08/22| 21:00 |
―――――――――――――――――――――――――
| ITD001 | 00000001 |2005/08/22| 12:00 |
―――――――――――――――――――――――――
| ITD001 | 00000002 |2005/08/22| 18:20 |
―――――――――――――――――――――――――
以上のような中身になっています。レコード量は、もっと多いです。このランダムな順番に取得したレコードを 端末ID(昇順)ユーザーID(昇順)日付(降順)時間(降順)でソートする方法をご教授お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

ODBCドライバーに、テキストドライバーがあるので組み込み、


ソートするクエリを作成して、結果を出力してしまう。

ただし、別ファイルになりますので、どうしても同じファイルで、というなら
出力をワークとして作成後、元ファイルにコピーで上書き&ワーク削除する。
    • good
    • 0

こんちは



CSVファイルをADOのSQLで
ユーザーID(昇順)日付(降順)時間(降順)でソート
がVBAで可能です。 

参考URL:http://www.katch.ne.jp/~h-inoue/tips/asp/0001.html

この回答への補足

データベースを使わないでの作業なんですが、ADOのSQLを使いソートするのは可能ですか?

補足日時:2005/08/27 23:57
    • good
    • 0

こんにちは。



一行目だけが、固定長ではないようですね。
全体が固定長なら、MS-DOSのSort で出来ます。

一行目は、二バイト文字ですから、昇順・降順で、一番最後か先頭のどちらかになってしまいます。

使い方は、コマンドラインから、SORT /?
とでもしてみてください。

ユーザーID とか、日付とかは、文字列の何番目か指定すればよいです。

>SORT FILENAME > FILENAME1

とリダイレクトすればよいです。
    • good
    • 0

エクセルが使えるなら、一旦エクセルに読み込ませて、エクセルでソートしCSVファイルで保存する。


アクセスが利用できるなら、読み込んでクエリで昇順降順を指定。
VBなどプログラムを組めるなら、ソートのアルゴリズムを使ってソートする。
大型やオフコンにはソート・マージユティリティがついていたものだが、MS社は、「アクセサリ」などにはなぜかソートユティリティをつけないですね。
市販は、買ってくれる人が少なくて、ソフト会社は、作る気がしないでしょうね。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBAでcsvファイルを読み込んで並び順を変える方法

こんにちは。VBAについて質問させてください。
当方まだ勉強し始めたばかりのかなりの初心者です。
見当違いの質問かもしれません…
どなたかご教授よろしくお願い致します。


以下のようなcsvファイルがあります。

Andou,tokyo,25,
andou,aichi,16,
iijima,fukushima,22,
----以下略------


「名前」「出身地」「年齢」の順に
並んでいるだけのファイルです。
これを
「出身地」「年齢」「名前」の順に
並べ変えたいのですがどうしたら良いでしょうか?


(1)一度シートにcsvファイルを読み込む
(2)シート上で列をcut,pasteで並び替える

なら方法は分かるのですが、
csvファイルが物凄く長いため
シート上にcsvファイルを読み込めない状況です。
どうしたらよいのでしょうか?

何かアドバイスだけでもあれば教えて下さい。
なにとぞ宜しくお願い致します。

Aベストアンサー

エクセルで(長くて)読み込めないのだから、エクセルでやる必要もないと思います。
VBScriptで、
以下の様にconv.vbsとして保存して実行すると
data.cvsをdata_cnv.cvsとして変換出力します。
---------------------------------------------------------------
Dim fso, inf, outf, aLine, field, wk

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set inf = fso.OpenTextFile("data.csv",1)
Set outf = fso.OpenTextFile("data_cnv.csv",2,true)

Do until inf.AtEndOfStream
aLine = inf.ReadLine
field = split(aLine,",")
'列の並び替え
wk=field(0)
field(0)=field(1)
field(1)=field(2)
field(2)=wk
aline = join(field,",")
outf.WriteLine(aline)
Loop
inf.Close
outf.Close

エクセルで(長くて)読み込めないのだから、エクセルでやる必要もないと思います。
VBScriptで、
以下の様にconv.vbsとして保存して実行すると
data.cvsをdata_cnv.cvsとして変換出力します。
---------------------------------------------------------------
Dim fso, inf, outf, aLine, field, wk

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set inf = fso.OpenTextFile("data.csv",1)
Set outf = fso.OpenTextFile("data_cnv.csv",2,true)

Do until inf.AtEndOfStream
...続きを読む

QVBA-読み込んだテキストファイルを並び替えて書き出したい

VBA-読み込んだテキストファイルを並び替えて書き出したい

ch1=FreeFile
Open A for Input as ch1

ch2=FreeFile
Open B for Input as ch2

DO while Not EOF(ch1) Line Input #ch1,buf
Print #ch2,buf
Loop

Close #ch1,#ch2

で読み込み、書き出すことはできました。

やりたいことは、書き出す時に、項目を並べ替えたいのです。


にんじん りんご ねこ
だいこん バナナ いぬ


りんご ねこ にんじん
バナナ いぬ だいこん

よろしくお願いいたします。
区切りはタブです。

Aベストアンサー

#1です。
例示のコードは、配列内容を完全に入れ替えますので、ご希望の順に調整してください。
forループの部分です。

QEXCEL VBAマクロ作成で、他のEXCELからデータを取り込みたい

メインプログラム(EXCEL VBA)より、
他のフォルダーにあるEXCELの項目の内容を取り込みたいです。
たとえば他のフォルダーのEXCELのRange("A2:A3").ValueをメインプログラムのRange("C2:C3").Valueにセットしたい時です。

・コマンドボタン押したら、どこのEXCELから取り込むかのポップアップ(?)は、表示はできてます。
・作業者が選んだパスとブックもMsgBoxで表示できてるので、もらう相手の場所も取得できてます。

・となると次はOPEN,INPUTですか?
テキストデータの取り込みですと、Inputでそのバッファを定義してるのですが、なんか違うような。。。

よろしくお願いします!

Aベストアンサー

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Cells(2, 2).Value ' 相手シートの B2 の値を自分自身の A1 に書き込む

readBook.Close False ' 相手ブックを閉じる
Set readSheet = Nothing
Set readBook = Nothing

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Ce...続きを読む

QEXCELファイルのカレントフォルダを取得するには?

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

Aベストアンサー

こんばんは。
Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub

Qwshでcsvファイルのソートを行いたい

wshのプログラムで困っているため教えてください。

wshでcsv(カンマ区切り)のファイルのソートを行い、Escel形式で保存するプログラムを書いています。
調べてみたところ、wshではソート関数がないようで、
adodbのsort関数を使用して対処しようとしていますが、どうもうまくいきません。
(※adodbの必要はないのですが、ExcelVBAのsortのコードを書こうとするとエラーになってしまったので、adodbにしています。)

<仕様>
csvファイルのソートのキーになるのは、「判定区分」の値で昇順に行いたいです。
csvファイルの一行目は、カラム名としてソート対象にはなりません。
読み込んだcsvファイルをexcel形式に保存したいです。

■csvファイルの形式は、以下のような形です。

性別,年代,判定区分,生年月日,日付
女性,10,0,2010/01/10,2013/7/7 23:57
男性,50,2,2000/03/30,2013/7/7 13:7
女性,10,0,1990/01/20,2013/7/7 15:22
女性,20,1,2001/12/10,2013/7/7 8:10
*-----------------------------------
<ソース>
Set con = CreateObject("ADODB.Connection")
With con
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path & ";" _
& "Extended Properties='text;HDR=Yes;FMT=Delimited'"
.Open
End With

Set rec = CreateObject("ADODB.Recordset")
rec.Open "select * from " & csvfile & " order by 判定区分", con
*-----------------------------------
うまくいかないため
↓でも書いています。
*-----------------------------------
Const adDate = 7
Const adVarChar = 200
Dim ans

Set objADO = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Set re = CreateObject("VBScript.RegExp")

rs.Fields.Append "性別", adVarChar, 255
rs.Fields.Append "年代", adVarChar, 255
rs.Fields.Append "判定区分", adVarChar, 255
rs.Fields.Append "生年月日", adDate
rs.Fields.Append "日付", adDate

rs.Open

ans = ""
rs.Sort ="判定区分 ASC"
rs.MoveFirst
Do While Not rs.EOF
ans = ans & rs.Fields(0).Value & vbCrLf
rs.MoveNext
Loop
MsgBox ans


エラーになってしまいます。
ソート処理だけですでににっちもさっちもいかないため、教えていただきたいです。

どうぞ宜しくお願いいたします。

wshのプログラムで困っているため教えてください。

wshでcsv(カンマ区切り)のファイルのソートを行い、Escel形式で保存するプログラムを書いています。
調べてみたところ、wshではソート関数がないようで、
adodbのsort関数を使用して対処しようとしていますが、どうもうまくいきません。
(※adodbの必要はないのですが、ExcelVBAのsortのコードを書こうとするとエラーになってしまったので、adodbにしています。)

<仕様>
csvファイルのソートのキーになるのは、「判定区分」の値で昇順に行いたいです。
cs...続きを読む

Aベストアンサー

こんな感じの VBS でどうでしょ。
E:\TMP フォルダ中に test.csv があると仮定しています。
なお、下記はExcelの標準モジュール(Sub モジュール)でも可。
※日付フィールドの書式変更はそちらで行ってください。

Dim cn
Dim rs
Dim xl, bk
Dim i

Set cn = CreateObject("ADODB.Connection")
With cn
.Provider = "Microsoft.JET.OLEDB.4.0"
.ConnectionString = _
"Data Source=E:\TMP;" _
& "Extended Properties='text;HDR=Yes;" _
& "FMT=Delimited'"
.Open
End With

Set rs = CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM test.csv order by 判定区分", cn', 0, 1, 1

Set xl = CreateObject("excel.application")
xl.Visible = True
Set bk = xl.Workbooks.Add

For i = 0 To rs.Fields.Count - 1
bk.Sheets(1).Cells(1, i + 1) = rs.Fields(i).Name
Next

bk.Sheets(1).Cells(2, 1).CopyFromRecordset rs
xl.UserControl = True
rs.Close:set rs = Nothing
cn.Close:set cn = Nothing

こんな感じの VBS でどうでしょ。
E:\TMP フォルダ中に test.csv があると仮定しています。
なお、下記はExcelの標準モジュール(Sub モジュール)でも可。
※日付フィールドの書式変更はそちらで行ってください。

Dim cn
Dim rs
Dim xl, bk
Dim i

Set cn = CreateObject("ADODB.Connection")
With cn
.Provider = "Microsoft.JET.OLEDB.4.0"
.ConnectionString = _
"Data Source=E:\TMP;" _
& "Extended Properties='text;HDR=Yes;" _
...続きを読む

QEXCEL VBAで計算値を四捨五入、切り上げ、切捨てする方法

ネットで探してみたのですが、計算結果を四捨五入して特定のセルを
返すにはどうしたらいいのでしょうか?

Sub hokangosa()

Dim ZPS As Double
Dim ZPOS As Double
Dim DMN As Double
MsgBox (" >>> 補間誤差自動計算 <<< ")
MsgBox (" >>> 初期値入力します <<< ")
ZPS = InputBox(">>> ステップを入力してください<<<")
ZPOS = Sheet1.Cells(22, 4).Value
DMN = ZPOS / ZPS
Sheet1.Cells(23, 6).Value = DMN
End Sub

ここでDMNの値を四捨五入したいです。

またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。

Aベストアンサー

DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0)
で、四捨五入
DMN = Application.RoundDown(ZPOS / ZPS, 0)
で切り捨て
DMN = Application.RoundUp(ZPOS / ZPS, 0)
で切り上げです。

引数で、対象桁を変更できます。

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

Q【VBA】ExcelマクロでCSVファイルに保存したデータが""で囲まれてしまう

添付図のような、Excel2003で作成した表内のデータを
CSVで保存するマクロを作成したのですが、
図のように、CSVファイルに「""」で値が囲まれた状態で、
保存されてしまいます。

下記にマクロを記載しますので、
どうすれば文字列が「""」で囲まれずに、
カンマ区切りだけのデータで出力されるのか、
ご存知の方おられましたら、ご教示お願い致します。

Sub csv保存()
Dim フォルダ名 As String
Dim パス名 As String
Dim ファイル名 As String
Dim データ As Variant
Dim 行数 As Long, 列数 As Integer
Dim i As Integer, j As Long, k As Long

ファイル名 = "test.csv"
フォルダ名 = "csv"
パス名 = ActiveWorkbook.Path & "\" & _
フォルダ名

'csvフォルダが存在しなければ作成する
If Dir(パス名, vbDirectory) = "" Then
MkDir パス名
End If
ChDir パス名

Open ファイル名 For Output As #1

For i = 1 To Worksheets.Count
Worksheets(i).Activate
Worksheets(i).Cells(1, 1).Select
ActiveCell.CurrentRegion.Select
行数 = Selection.Rows.Count
列数 = Selection.Columns.Count

For j = 1 To 行数
For k = 1 To 列数 - 1
データ = Selection.Cells(j, k) _
.Value
Write #1, データ;
Next k
Write #1, Selection.Cells(j, 列数) _
.Value
Next j
Next i
Close #1
End Sub

添付図のような、Excel2003で作成した表内のデータを
CSVで保存するマクロを作成したのですが、
図のように、CSVファイルに「""」で値が囲まれた状態で、
保存されてしまいます。

下記にマクロを記載しますので、
どうすれば文字列が「""」で囲まれずに、
カンマ区切りだけのデータで出力されるのか、
ご存知の方おられましたら、ご教示お願い致します。

Sub csv保存()
Dim フォルダ名 As String
Dim パス名 As String
Dim ファイル名 As String
Dim データ As Variant
Dim ...続きを読む

Aベストアンサー

Write # は文字列を""で囲んで出力する仕様になっています。
そのまま出力したければ、Print #を利用すればよろしいかと。
ただし、Printの場合は区切り文字(カンマ)を自動で出力してくれませんので、併せて出力する必要があります。

For j = 1 To 行数
  For k = 1 To 列数 - 1
    データ = Selection.Cells(j, k) .Value
    Print #1, データ; ",";
  Next k
  Print #1, Selection.Cells(j, 列数).Value
Next j

なお、いらぬおせっかいですが、ドライブが複数ある環境下だと、
 ChDir パス名
だけでは必ずしもcvsフォルダ内に、ファイルが作成されるとは限りません。
 Open パス名 & "\" & ファイル名 For Output As #1
のように、フルパスで指定しておいた方が確実かと…

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

Qカンマ区切りのCSVファイルから""を削除したい

初めて質問いたします

以下のような形式のCSVファイルがあります
例)
品名,数量,単価,金額
"りんご",1,150,150
"バナナ",10,200,2000
"メロン","1,000","2,000","2,000,000"

上記のように、品名にはダブルクォーテションがつき、
数量、単価、金額については桁区切りのカンマが発生する場合、ダブルクォーテーションで囲まれています

上記のようなデータを
りんご,1,150,150
バナナ,10,200,2000
メロン,1000,2000,2000000
のように別ファイルへ出力するにはどのようにすればよいでしょうか?

プログラムでの処理で、WSHを使ったものを教えていただけますと、幸いです
よろしくお願いいたします

Aベストアンサー

もう仕事は終わってしまったかもしれませんが、(^^ゞ
VBS で作ってみました。
対象CSVファイルのあるフォルダに保存して実行してみてください。
_NewFilesフォルダに保存されます。
※対象外のCSVファイルが有っても処理してしまいます

Dim oSh
Dim oFs
Dim BaseFolder
Dim newFolder
Dim f

Set oSh = CreateObject("Wscript.Shell")
Set oFs = CreateObject("Scripting.FilesystemObject")
Set BaseFolder = oFs.getFolder(oSh.currentDirectory)

newFolder = BaseFolder.Path & "\" & "_NewFiles"

If oFs.folderExists(newFolder) = False Then
oFs.createFolder (newFolder)
End If

For Each f In BaseFolder.Files
If oFs.GetExtensionName(f) = "csv" Then
Call changeIt(f.Path, newFolder)
End If
Next

MsgBox newFolder & " フォルダ内を検証"


Sub changeIt(orgFname, trgFolder)
Dim oFs
Dim orgF
Dim newF
Dim newFname
Dim buF
Dim oReg

Dim Mcol
Dim M
Dim M1, M2
Const forReading = 1
Const forWriting = 2

Set oFs = CreateObject("Scripting.fileSystemObject")
Set oReg = CreateObject("VBScript.RegExp")
Set orgF = oFs.getFile(orgFname).openAsTextStream(forReading)

newFname = trgFolder & "\" & oFs.getBaseName(orgFname) & "_New.csv"
oFs.CreateTextFile (newFname)
Set newF = oFs.getFile(newFname).openAsTextStream(forWriting)

With oReg
.Pattern = """.*?"""
.IgnoreCase = False
.Global = True
End With

Do Until orgF.atendofstream
buF = orgF.readline
Set Mcol = oReg.Execute(buF)

For Each M In Mcol
M1 = Replace(M.Value, ",", "")
buF = Replace(buF, M.Value, M1)
M2 = Replace(M1, Chr(34), "")
buF = Replace(buF, M1, M2)
Next

newF.WriteLine buF
Loop

orgF.Close: newF.Close
Set Mcol = Nothing
Set oReg = Nothing

End Sub

もう仕事は終わってしまったかもしれませんが、(^^ゞ
VBS で作ってみました。
対象CSVファイルのあるフォルダに保存して実行してみてください。
_NewFilesフォルダに保存されます。
※対象外のCSVファイルが有っても処理してしまいます

Dim oSh
Dim oFs
Dim BaseFolder
Dim newFolder
Dim f

Set oSh = CreateObject("Wscript.Shell")
Set oFs = CreateObject("Scripting.FilesystemObject")
Set BaseFolder = oFs.getFolder(oSh.currentDirectory)

newFolder = Bas...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング