X



VBScriptについて必死に話し合うスレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0142デフォルトの名無しさん
垢版 |
2017/12/14(木) 13:02:48.86ID:a0rjv/8N
>>140
ありがとう
呪文にしか見えん…
ちょっと調べながら解読してみる…
0143デフォルトの名無しさん
垢版 |
2017/12/14(木) 13:04:28.86ID:yn4+AjAE
なんでvbscriptなのさ
0145ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/14(木) 20:51:32.40ID:NgXErqsS
         ____/ ̄ ̄
          / │ ̄\__     ゴゴゴ・・・
            /


        ..     、      ,_
        ̄\_/ ̄ ̄\/ ̄     ゴゴゴゴゴゴ・・・
    ___/ ̄へ√⌒l⌒´ ̄ ̄\_
    ´        /   \



      _   ./ ̄ ̄ ̄\    /
    __ `ソ/ ─  ─  \/ ̄/
      \/゚ (●)。 (●)  \/ rへ,ノ   ・・・・・・
 __>-へ| i     (__人__)    |ノ  :.\_
      .:/从へ、.゚` ⌒´o.ノ从rーヘ_
    _::ノ    :ノ`⌒Y⌒´::  \
          .::┘   :│   ゚
0146ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/14(木) 20:53:21.84ID:NgXErqsS
>>138
今日から君がピラフ大王やで、頑張りや
0149ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/14(木) 21:55:27.69ID:NgXErqsS
>>147
ピラフの名を汚さぬようよろしく頼む
0150ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/14(木) 21:59:41.80ID:NgXErqsS
>>148
上皇ってかっこいいよね常考
0151デフォルトの名無しさん
垢版 |
2017/12/14(木) 23:12:43.99ID:y8VZ3omI
>>142 です
>>140 の人丁寧に教えてくれたけど全然分からなかった…すまん…

CSVの読み込みにCOPYが使えるってのを見つけて試そうと思ったんだけどファイルの先頭3行に必要ない行があるからskipを使ってコード書いたけど実行すると”skip”付近で記述がおかしいみたいなエラーが出る
これ何かおかしい?

Sql = "COPY datatest FROM 'C:\\FTP_Test\\LOG01\\00006401' skip 3; "
0153ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/15(金) 06:57:53.93ID:131zQT6r
>>152
ピラフ貧乏だからエクセル持ってないの!
0154ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/15(金) 07:03:01.40ID:131zQT6r
>>151
ポストグレスの重要機密文書見たけどskipは載ってなかったよ
skipオプションは使えないんじゃないかな
https://www.postgresql.jp/document/9.3/html/sql-copy.html

テキストエディタでサクッちゃいなよ
やっちゃえエディタ
0155デフォルトの名無しさん
垢版 |
2017/12/15(金) 07:26:16.07ID:zud8woUq
>>154
skipないのか…
>>140の人がレスくれた内容がこの辺かな?
http://bayashita.com/p/entry/show/85
これを

読んだ一行は、カンマでSplitして文字列はダブルクォーテーションで囲んだりしながらvalue部分作成
あとはあらかじめ用意したSQLにくっつけて実行

って全然イメージ付かない…
1行ずつよんだ結果は上のサイトで言う所のstrLineに入ってるって理解で良いのかな?
この変数の中身をどう分解すれば良いんだ?
聞いてばっかりでごめん
0156ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/15(金) 07:35:06.35ID:131zQT6r
>>155
strLineには1行ずつ読んだ結果が入ってるよ

Split関数を使ってカンマで切って配列に変換すればいいよ
Dim values
values = Split(strLine, ",")
0157デフォルトの名無しさん
垢版 |
2017/12/15(金) 07:42:39.22ID:zud8woUq
>>156
ありがとう
CSVの列の数とテーブルの列の数が同じなら下の書き方で上手くインサートできる?

INSERT INTO test
(aaa,bbb,ccc)
VALUES
(values)
0159デフォルトの名無しさん
垢版 |
2017/12/17(日) 10:15:48.77ID:NS6MVH8q
“今日の日付のファイル”を読み出すって場合はどういうコードになるの?
日付を付加するとかはあるけど探して読み出すっていうのが見つけられなかった
0160デフォルトの名無しさん
垢版 |
2017/12/17(日) 10:45:58.69ID:11VnziJk
>>159
どこに日付が有るの?
ファイル名なのか、作成日付なのか変更日付なのか
ただ日付と言われても誰も解らないよ
0162デフォルトの名無しさん
垢版 |
2017/12/17(日) 11:30:57.58ID:NS6MVH8q
>>160
ごめん
読みだしたいファイルに日付が付加されてるんだけど(20171217みたいな感じ)、今日の日時が付いてるファイルのみ判別して読み出すっていうのがやりたい
0163デフォルトの名無しさん
垢版 |
2017/12/17(日) 11:35:05.24ID:NS6MVH8q
>>162
日付はファイルを作成した日時が付加されてる
今はパスに対象のファイルを指定してるから読み出したり出来てるんだけど、日付の指定で読み出し対象を変えたいなと思ったんだ
0164デフォルトの名無しさん
垢版 |
2017/12/17(日) 11:50:43.85ID:ZJu/+/V0
>>162
パス名に一定の規則に基づいた日付がついていて、かつその日付を信頼して制御してOKなら、InStrとかReplaceを使ってパスを検索すれば良い
実際のファイル作成日や最終更新日を考慮しなければならないなら、FileSystemObjectとかを使ってFileのプロパティを調べて検索するべし
0165デフォルトの名無しさん
垢版 |
2017/12/17(日) 12:52:09.35ID:11VnziJk
>>162
ワイルドカードとかの指定は出来ないので
ファイル名を読み出して判定してからオープンする必要がある
sdate=replace(date,"/","")
set ofo = fso.GetFolder(folder)
とかでフォルダー取得して
For each ofi in ofo.files
でファイル一つずつ読み出し
if instr(ofi.name,sdate) <> 0 then
ファイル読み出し、DB書き込み処理
end if
こんな感じかな
0167ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/17(日) 12:57:09.71ID:tybEWHU1
恥ずかしかったから消した、とにかく消した
0168ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/17(日) 12:59:19.04ID:tybEWHU1
        / ̄ ̄\
      /      \
      |::::::: :      |     ,        ノ.
     . |:::::::::::::     |      'ヽ      (
       |:::::::::::::      |       )      )
     .  |:::::::::::::::     }        `    ノ
     .  ヽ____    }        ( ,ノ'  ̄
        r'ニニヽ._\. ノ         ;;.
      r':ニニ:_`ー三`:く._           [l、.
    /: : : : : : :`,ニ、: :_:_;>      /,ィつ
 .   /: : : : : : : : / : : : ヽ\     ,∠∠Z'_つ
   | : :.:.:.:.:.: . :/: : : : : : l : ヽ.   / .r─-'-っ
 .   |:.:.:.:.:.:.:.:.:.,' ''" ̄: : :l: : : :l   /  ):::厂 ´
    |:.:.:.:.::.:.:.:l -─-: : /:_:_:_:_l / ̄`Y´
 .   |:.:.::.:.::.::l.__: : : :/::: : : : :l/⌒ヽ: :〉
    |::.:::.::.::l: : : : : : /:::: : : : : |: : : : ゙/
0170デフォルトの名無しさん
垢版 |
2017/12/17(日) 21:02:59.65ID:NS6MVH8q
>>165
>>162です

見ながらやってみたんだけどわからなかった・・・
日付を判定する元にしてるのがsdateかなと思って中身見ようとCall MsgBox(sdate)ってやっても今日の日付が表示されないのはsdateには今日の日時が入ってないからなのかな?
あと、if instr(ofi.name,sdate) <> 0 then の文のinstrの意味って検索が一致した文字の位置を返すって役割って理解であってるかな?
if instr(ofi.name,sdate) <> 0 then この文の意味がよく分からなくて・・・
見ながら書いたコードなんだけどもう少しっぽいのに分からない・・・

Dim objFileSys
Dim objFolder
Dim objFile
Dim sdate
Dim a

Set objFileSys = CreateObject("Scripting.FileSystemObject")

sdate = Replace(Data,"/","")

Set objFolder = objFileSys.GetFolder("c:\Filedate")

For Each objFile In objFolder.Files

If instr(objFile.Name,sdate)

Next
0171デフォルトの名無しさん
垢版 |
2017/12/17(日) 21:42:00.34ID:CjttRUiY
>>170
dataじゃなくてdateね

Dim objFileSys
Dim objFolder
Dim objFile
Dim sdate
Dim a

Set objFileSys = CreateObject("Scripting.FileSystemObject")

sdate = Replace(Date,"/","")

Set objFolder = objFileSys.GetFolder("c:\Filedate")

For Each objFile In objFolder.Files

If instr(objFile.Name,sdate) <> 0 then

end if

Next
0172デフォルトの名無しさん
垢版 |
2017/12/17(日) 22:16:55.33ID:NS6MVH8q
>>171
ありがとう
綴りを間違えてた…
本当に馬鹿な質問で申し訳ないんだけど
If instr(objFile.Name,sdate) <> 0 then
で今日と判別されたものはどこに入ってるの?
例えば今日の日付のファイルをデータベースに処理するとして、ここで判別された物がファイルのパスにしたり出来るのかなって思ってるんだけど理解間違ってるかな…

確認しようと中身をメッセージボックスに出してみようと思ったんだけど( )の中身はなんて指定すれば出せるかな


Set objFileSys = CreateObject("Scripting.FileSystemObject")

sdate = Replace(Date,"/","")

Set objFolder = objFileSys.GetFolder("c:\Filedate")

For Each objFile In objFolder.Files

If instr(objFile.Name,sdate) <> 0 then

Call MsgBox()

end if

Next
0173ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/17(日) 23:06:53.62ID:tybEWHU1
>>172
objFile.Pathでおk
0174デフォルトの名無しさん
垢版 |
2017/12/17(日) 23:47:07.21ID:NS6MVH8q
>>173
ありがとう
途中でメッセージボックス出してファイルの名前だったり中身のデータも取得できた
みんな丁寧に教えてくれてほんとにありがとう
0175デフォルトの名無しさん
垢版 |
2017/12/17(日) 23:58:53.02ID:NZGyS71f
$folder = "c:\Filedate"

# yyyymmdd
$today = Get-Date -Format "yyyyMMdd"
# 日付を含んだ
$filter = "*" + $today + "*"

$file = ls -File -Path $folder -Filter $filter
# 読み込み
Get-Content $file

PowerShell で書いた。
PowerShell, PowerShell_ise で実行して
0176175
垢版 |
2017/12/18(月) 02:19:49.67ID:TbHEuMcS
修正

Get-Content では、相対パスでは、作業フォルダの場所次第で、動かないことがあるから、
絶対パスにしておいた方が無難

># 読み込み
>Get-Content $file

# 読み込み
Get-Content $file.FullName
0178ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 21:33:44.64ID:Zeev6jNO
文字列 "平成29年12月18日" をDate型に変換したいのですがどうやればいいですか
教えてくださいお願いします
0179ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 21:35:03.05ID:Zeev6jNO
"平成29年12月32日" のように不適切な日付の場合はアラートを出したいです
よろしく教えてくださいよろしくおねがいします
0180デフォルトの名無しさん
垢版 |
2017/12/18(月) 22:05:22.67ID:imW/xpNX
>>140-141
CSVの読み込み時に一律で Split(Line, ",") するのは勧めない。CSVの仕様的に正しくない。
「"」でくくられて「,」を持つフィールドを正しく取得できない。
良い機会だから、トークン切り出しクラスを実装してみたら?スキル上がるよ。

>>165
これくらい単純な事には、Execオブジェクトに dir /a-d /b させて StdOut をもらった方が楽。
ワイルドカードが使えるし。
0186ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 22:55:29.37ID:Zeev6jNO
>>181
NGになって欲しい
なぜならば平成しか来ない想定だから
0188ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 22:57:57.28ID:Zeev6jNO
>>187
テキストドライバがあるよ
ODBCドライバかOLEドライバかACEなんとかで提供されてるはず
0189片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/12/18(月) 22:58:18.77ID:eDTAq43p
VBSは正規表現が使えるから、文字列から数字をパターンマッチで取り出して、
後は、数の範囲を確認する。
西暦や和暦では月は1〜12であることはわかるね。各月の日数は月によって異なる。
カレンダー見ればだいたいわかるね。ただし、うるう年では2月は29日になる。うるう年の判定方法は検索して。
年号はデータを用意するしかない。
0190ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 22:58:27.21ID:Zeev6jNO
>>184
追加はできるんじゃなかったかな
超絶遅いけど
0191デフォルトの名無しさん
垢版 |
2017/12/18(月) 22:58:29.49ID:imW/xpNX
>>186
法律上は
明治45年7月30日と大正元年7月30日は同じ日
大正15年12月25日と昭和元年12月25日は同じ日
だからどちらも入力として受け付けるってことでいいのか?
0192ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 22:59:21.85ID:Zeev6jNO
>>189
日本語で言われても全然わからない
VBScriptランゲージでどうぞよろしくお願いいたします
0193ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 23:00:15.01ID:Zeev6jNO
>>191
平成だけで良いです
明治も大正も昭和も仕様に含めない方向で
0196ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 23:09:57.94ID:Zeev6jNO
>>195
うそーうそーうそー
ちょっと明日起きたら試してみる
0197片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/12/18(月) 23:14:00.79ID:eDTAq43p
毎年のことだが、1月は31日あり、2月は28日か29日あり、3月は31日あり、4月は30日あり、5月は31日あり、6月は30日あり、7月は31日あり、
8月は31日あり、9月は30日あり、10月は31日あり、11月は30日あり、12月は31日まである。
0198デフォルトの名無しさん
垢版 |
2017/12/18(月) 23:14:12.76ID:imW/xpNX
>>193
ちうことは…
1. フォーマットに従ってなければはじく。
2. 存在し得る日付かどうかを調べてはじく。
3. 合格したら西暦変換して出力
大体こんな感じ…だけどおまいさんなら楽勝で作れるでしょ。

今日は寝る。
0199ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 23:14:40.38ID:Zeev6jNO
>>194
CSVファイルの読み込みはイレギュラーケースがExcelとテキストドライバーで違ったりしてて
正しいものだけ読めれば良いですってことなら使えるのだろうけれども
Excelと同じ結果を得たいとか、不正なデータがあったらアラート出したいとか
そういう要求があるとパーサこしらえなきゃいけなかったりするんだよね
どこまで細かく見ますかってことになろうかと
0200ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 23:15:58.26ID:Zeev6jNO
>>198
1.は正規表現でイケると思うの
2.はどうやるの?
3.もお願い

以上、よろしくお願いします
0201ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 23:17:29.61ID:Zeev6jNO
>>197
できそうですか!?よろしくお願いします!!
0202デフォルトの名無しさん
垢版 |
2017/12/18(月) 23:22:31.20ID:TbHEuMcS
カンマ区切りのCSV よりも、タブ区切りのTSV の方が良い

でも、TSVでも、データ内にタブを使わないように。
タブは、区切り文字のみに使うこと

>>178-179
そもそも、日本の和暦に対応している、OS のAPI があるのかな?
0203ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/18(月) 23:26:32.19ID:Zeev6jNO
>>202
わからぬ、だがピラフはそれを欲しい、作ってくれるか?
0206デフォルトの名無しさん
垢版 |
2017/12/18(月) 23:42:43.82ID:TbHEuMcS
大昔に、帳票アプリを開発した際は、

和暦年号の始まり・終わりの年月日を、DB (またはファイル)に入れておいて、
新しい年号も、DBへ追加することで、対応できるようにしていた
0208ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 07:34:26.51ID:UhFkUq45
>>206
なるほどなるほどなるほど
0209ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 07:36:09.47ID:UhFkUq45
>>207
13って表示されました
これは不吉な証拠だと思います
0210ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 07:38:47.81ID:UhFkUq45
CSVをADODBで読み込んでみようと思ったの
64bitではACCESSの何かをインスコしないダメみたいなの
仕切りが高いと思います
0214ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 20:40:14.41ID:z1fMJoxx
>>212
あざーす!>>212さんあざーす
0217ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 22:27:57.95ID:z1fMJoxx
>>216
真似してもええんやで
0218デフォルトの名無しさん
垢版 |
2017/12/19(火) 22:43:25.21ID:9NfRyj4O
>>217
…と来ると思った。
その進歩の無さがこのスレを支えているのかも知れないな。

VBScript は「間違った、VB的な」ハンガリアン記法を敢えて使った方がいい場面があるのだが、まだ分からないのか…。
0219デフォルトの名無しさん
垢版 |
2017/12/19(火) 22:52:47.51ID:9NfRyj4O
あと、あれだ。
「面倒だから書かない」と「面倒だけど書くべき」場面の区別が付いてない。

自分だけが使う使い捨てコードならともかく、意志のないコードを人様に見せたらいかんよ。
0220デフォルトの名無しさん
垢版 |
2017/12/19(火) 22:57:00.07ID:9NfRyj4O
ま、ネットにコードをアップするくらいならコピペ元のURLを貼ってくれた方がエコなのでそっちを勧める。
0221ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 23:08:46.42ID:z1fMJoxx
マウンテンゴリラが現れた
0222ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 23:09:15.95ID:z1fMJoxx
ゴリラのコードが見たい
0223ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 23:09:27.99ID:z1fMJoxx
ゴリラコード
0224ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 23:27:32.56ID:z1fMJoxx
間違ったハンガリアンはとてもすごいんだとみんなに使ってもらいたいんだという
強いお気持ちをお持ちになっておられるのが伝わってきました

書かないべき書くべきところの区別が自分はついているんだと
自分ならこれを書くのに自分ならこれを書かないのにという思いを抱いておられることも
痛いほど伝わってきました

記法なんて好きにすればいい人それぞれ違っていいんだと
ピラフは思うけれどもそこまで強い思いがあるんだったらみんなに実物を見せるのがいんじゃないかな

これが自分が思う最高のコードだとバシーンと出したらいんじゃないかな
0225ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 23:28:38.23ID:z1fMJoxx
実物出さないから説得力がないんだよね
0226デフォルトの名無しさん
垢版 |
2017/12/19(火) 23:30:06.33ID:ZrHp+0kQ
ピラフは他人の意見に耳を貸せるような人間じゃないからね
0227ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/19(火) 23:43:07.78ID:z1fMJoxx
ピラフのコードに言いがかりつけてるだけじゃん?
それってただのマウンティングだと思うしゴリラだと思うの
こうやったがいいと思うのならそれを出すべきだと思うんだよね
ピラフに文句言うんじゃなくて、自分ならこう書くってのを堂々と示すべきだと思う
それが本当に良い物ならみんな真似すると思うし有益だと思う
たとえ良くないものだったとしても自分の意見を主張したんだから価値あることだよ
他人を貶めてるだけじゃダメ、ゴリラから進化するべき
0228ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/20(水) 00:07:21.89ID:DtY415Ea
>>226
いつでもお耳貸すよ、ピラフのかわいいお耳貸したげるよ
賛同するかどうかは別として意見を聞くことは嫌いじゃないよ

自分の意見に賛同しないからこいつはダメだというのは支配者の考え方
北の黒電話さんのやり方

自分はこう書いてるなぜならばこういう目的があってそこにはこういう背景があって
こういう手段を検討したうえでっていうのが意見だと思うんだよね

整然とした論理展開があると説得力を感じるよね

意志のないコードとか人様に見せたらいかんとかはポエムチックな感情の垂れ流しかなと
0229ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/20(水) 00:09:29.93ID:DtY415Ea
ピラフのコードが美しすぎて嫉妬したんだと思う
0230デフォルトの名無しさん
垢版 |
2017/12/20(水) 00:36:58.23ID:iBjz3iUH
何か言われればとにかく理屈をこねて茶を濁す、それがピラフ
0231デフォルトの名無しさん
垢版 |
2017/12/20(水) 03:45:44.59ID:nn3v7K50
再配布可能のADODB, Microsoft Access Text Driver を使ったのか

SQLite などの無料DB は、使えないの?
0232ピラフ ◆9Jro6YFwm650
垢版 |
2017/12/20(水) 07:44:17.63ID:DtY415Ea
>>230
ちょとー男子まじめにVBScript書きなさいよー
0233デフォルトの名無しさん
垢版 |
2017/12/20(水) 07:52:51.66ID:0h+M5O7M
それこそ敷居高いだろ
お手軽にテキストファイルを扱えるのがいいんだよ
もしくはMDBでいい
それ以上必要ならVBS使わない方がいい
0234デフォルトの名無しさん
垢版 |
2017/12/20(水) 10:42:57.83ID:e1DpHzhW
>>232
そうやってはぐらかし続けているのがいいと思う
0235デフォルトの名無しさん
垢版 |
2017/12/20(水) 10:46:13.76ID:apLR0/3w
雑炊おるか?
0237デフォルトの名無しさん
垢版 |
2017/12/20(水) 12:13:58.24ID:7tsrrWTX
レポートにまとめて提出しろよ精査してやるわ
ピラフがーとしか言ってないお前らに論理的な
文章が書けるとは思えんがな
0238デフォルトの名無しさん
垢版 |
2017/12/20(水) 12:16:17.94ID:7tsrrWTX
そもそも何を主張したいのかもわからん
ピラフが間違ったハンガリアンを使ってないのが
気に入らないだけ?
0240デフォルトの名無しさん
垢版 |
2017/12/20(水) 12:22:00.86ID:7tsrrWTX
間違ったハンガリアンを使ってほしいのなら
そのメリットを伝えないと、論文書かないと
たとえ正しいことを言ってたとしても
説得力がないと宝の持ち腐れ、精神を加速させるんだ
論理を展開するんだストーリーを描くんだよ!
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況