アプリ版:「スタンプのみでお礼する」機能のリリースについて

プログラミング初心者です。以下のスクリプトのコードを教えて下さい。または、参考サンプルの場所などありましたら教えて下さい。

現在、VBScriptのOpenTextFileを用いて各個人の書類提出"済""未"ログ
を採取しております。(添付ファイルのように一個人一テキストファイルで管理)ここまでは、書籍のサンプルコードを引用したので作成できました。
【やりたい事】
ログ情報を取得してきて、エクセル表に提出済みなら"●"を書き込んでいきたいです。
動きとしましては、テキストファイルのログ情報から管理Noと氏名で一致したエクセル表のセル値に書き込んでいく。といったことです。

申し訳ございませんが、お知恵をおかしください。

「VBSで文字を比較して一致するセル値に書」の質問画像

A 回答 (2件)

>VBScript から Excel ファイルを開くところまで


もう解決済みかもしれませんが・・・

参考URL:http://www.upken.jp/wiki/index.php?VBScript%2FEx …
    • good
    • 0

やりたいことだけは書いてありますが、何がわからないのか書いてないので勝手に解釈します。


VBScript から Excel のデータファイルを開くところまではできていて、●を入れる場所を特定する方法がわからないってことですか?

以下、前提がわからないので勝手に解釈。
Excel の A列、A1 から下に向かって、既に全ての出席番号があるとします。
出席番号が空白になっているセルは無いとします。
Excel の 1行目、D1 から右に向かって、既に全ての管理 No. が振ってあるとします。
管理 No. が空白になっているセルは無いとします。

テキストファイルの 1行には複数の要素があるようですが、何で区切ってあるのか不明ですが、TAB で区切ってあるとします。
----
<キーになる要素の取り出し>
出席番号は VBScript で開いているテキストファイルのファイル名から取得できます。
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim studentID
studentID = fso.GetBaseName("C:\aaa\bbb\ccc.txt")
これで studentID に "ccc" という文字列が入ります。

生徒名は VBScrit で読み込んだ行の 4番目の要素で取得できます。
Dim lineString
lineString = テキストファイルからの読み込み
Dim vals
vals = Split(lineString, vbTab)
Dim studentName
studentName = vals(3)

管理番号は VBScript で読み込んだ行の 5番目の要素で取得できます。
読み込んだ 1行分の文字列を Split(文字列, vbTab)
Dim MngNum
MngNum = vals(4)

----
<Excel ワークシートへの書き込み>
先にも言ったとおり VBScript から Excel ファイルを開くところまではできているとします。
対象ワークシートを targetSheet 変数で参照しているとします。

合致する管理番号の列番号を取得して変数 recCol に入れる
Dim lastCol
lastCol = targetSheet.Cells(1,4).End(&HFFFFEFBF).Column
Dim recCol
recCol = targetSheet.Range(targetSheet.Cells(1, 4), targetSheet.Cells(1, lastCol)).Find(MngNum).Column

合致する出席番号の行番号を取得して変数 recRow に入れる
Dim lastRow
lastRow = targetSheet.Cells(3, 1).End(&HFFFFEFE7).Row
Dim recRow
recRow = targetSheet.Range(targetSheet.Cells(3, 1), targetSheet.Cells(lastRow, 1)).Find(studentID).Row

<氏名と●を書き込む>
targetSheet.Cells(recRow, 2).Value = studentName
targetSheet.Cells(recRow, recCol).Value = "●"

この回答への補足

temtecomai2さん、詳細なコードの提示有難うございます。
"VBScript から Excel ファイルを開くところまではできているとします" すみません、ここの部分はまだ出来ておりません。各個人のログをテキストファイルに書き出すところまでしかできておりません。
"targetSheet変数"というものを使用してExcelファイルを開くという処理を教えて頂けないでしょうか。
 私の質問がいたらなかったばかりにご迷惑をお掛けしますが、宜しくお願いします。

補足日時:2009/03/05 07:23
    • good
    • 0
この回答へのお礼

temtecomai2 さん、ご回答頂きまして有難うございました。
お礼の返事が送れましたことお詫びいたします。

お礼日時:2009/03/06 23:34

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