ここから本文です

バッチファイル、vbs、アクセスエクセル 数回質問させていただきましたが、改行...

on_********さん

2018/7/3011:07:37

バッチファイル、vbs、アクセスエクセル

数回質問させていただきましたが、改行コードなしのcsvファイル、文字の羅列から
特定の文字を項目としてデータベース化できるかを考えていましたが

私の能力では、データベース化まではできません

https://m.chiebukuro.yahoo.co.jp/detail/q12193845232

https://m.chiebukuro.yahoo.co.jp/detail/q12193834447

例えば、こういう羅列です
name=田中太郎age=21address=TOKYO生年月日=20000919個人番号=1A0001name=田中一郎age=31address=CHIBA個人番号=1A0002name=田中吾郎age=41address=TOKYO個人番号=1B0001
必ずすべての項目が揃っていない情報で

田中太郎さんの情報
田中一郎さんの情報
田中吾郎さんの情報
を縦に

名前、年齢、生年月日、個人番号を横にしたかったのですが

会社のパソコンであり
新しいソフト使用は許可まで時間がかかり
アクセスやエクセル等やWindows標準のバッチやvb
しか使えない

数十分毎にデータは流れてきてそれをデータベース化したいと考えてました

可能なら教えて頂きたいと思っております。

閲覧数:
77
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

Prometheusさん

2018/7/3019:26:59

「VBScript」による回答です。

プログラムファイルにこれから処理したいテキストファイル(「~.txt」ファイル)を、1つだけドラッグ&ドロップしてください。

質問者のデータをドラッグ&ドロップした結果は、

name=田中太郎,age=21,address=TOKYO,生年月日=20000919,個人番号=1A0001
name=田中一郎,age=31,address=CHIBA,個人番号=1A0002
name=田中吾郎,age=41,address=TOKYO,個人番号=1B0001

となりました。

以下のプログラムを、メモ帳かテキストエディタに貼り付け、「~.vbs」という名前で保存してください。

「~」の部分は、何でもかまいませんが、「.vbs」の部分は、必ず、半角です。

出来たプログラムファイル(「~.vbs」ファイル)に目的のテキストファイルを1つだけ、ドラッグ&ドロップしてください。

ドラッグ&ドロップしたファイルと同じフォルダ内に「Result.txt」という結果ファイルを作成して、最後に「Finished!」と表示しますので、「OK」を押して、終了してください。

Option Explicit
Dim a, f, i, m, n, so, tx, wa
Set so = CreateObject("Scripting.FileSystemObject")
Set wa = WScript.Arguments
If wa.Count <> 1 or LCase(so.GetExtensionName(wa(0))) <> "txt" Then
MsgBox("ドラッグ&ドロップできるのは、txtファイル1つだけです")
WScript.Quit
End If
m = Array("name=", "age=", "address=", "生年月日=", "個人番号=")
f = so.GetParentFolderName(wa(0))
Set tx = so.OpenTextFile(wa(0), 1)
a = tx.ReadAll
tx.Close
Set tx = Nothing
For i = 0 to UBound(m)
If i = 0 Then
n = vbCrLf & m(i)
Else
n = "," & m(i)
End If
a = Replace(a, m(i), n)
Next
Set tx = so.OpenTextFile(f & "\Result.txt", 2, True)
tx.WriteLine Right(a, Len(a) - 2)
tx.Close
Set tx = Nothing
Set wa = Nothing
Set so = Nothing
MsgBox("Finished!")

今、ちょっと、出かけなければならなくなったので、いつもは簡単な説明をするのですが、省略します。

  • 質問者

    on_********さん

    2018/7/3108:59:22

    早速ありがとうございます。

    英語の項目をすべて日本語に変換したく、項目数が多いので、別のテキストファイルから読み込まして変換できるでしょうか。

    name 氏名
    age 年齢
    address 住所
    のような対応するTEXTファイルを用いて

  • その他の返信(3件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2018/7/31 09:51:49

ご丁寧ありがとうございました
助かりました

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる