プログラミング初心者です。以下のスクリプトのコードを教えて下さい。または、参考サンプルの場所などありましたら教えて下さい。
現在、VBScriptのOpenTextFileを用いて各個人の書類提出"済""未"ログ
を採取しております。(添付ファイルのように一個人一テキストファイルで管理)ここまでは、書籍のサンプルコードを引用したので作成できました。
【やりたい事】
ログ情報を取得してきて、エクセル表に提出済みなら"●"を書き込んでいきたいです。
動きとしましては、テキストファイルのログ情報から管理Noと氏名で一致したエクセル表のセル値に書き込んでいく。といったことです。
申し訳ございませんが、お知恵をおかしください。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>VBScript から Excel ファイルを開くところまで
もう解決済みかもしれませんが・・・
参考URL:http://www.upken.jp/wiki/index.php?VBScript%2FEx …
No.1
- 回答日時:
やりたいことだけは書いてありますが、何がわからないのか書いてないので勝手に解釈します。
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ファイルを開くという処理を教えて頂けないでしょうか。
私の質問がいたらなかったばかりにご迷惑をお掛けしますが、宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- Excel(エクセル) エクセルVBAで図形のテキストを取得してセルに入力 2 2022/10/05 23:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのVBAでEOFを誤認識
-
【VBA】テキストファイルを指定...
-
VBScript(vbs)での行の取得につ...
-
Excelにて、フォルダ内のTextフ...
-
アスキー、バイナリーの違い、...
-
スペース区切りのテキストファ...
-
unixのシェルスクリプトで特定...
-
VBSで文字を比較して一致するセ...
-
ファイルのアクセス回数について
-
Windows10でコマンドプロンプト...
-
エクセルのプロパティーでセキ...
-
カンマ区切りのCSVファイルから...
-
バッチファイル 二つ上のディ...
-
frxファイルの役目
-
エクセルvbaでdocuworksprinter...
-
エクセルで複数のコメントのサ...
-
Wordで差込印刷した後に別々の...
-
バッチでCSVを処理する時、空の...
-
バッチファイル XCOPYで上書き...
-
Excel csv保存 列数が異なる場...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
EXCELのVBAでEOFを誤認識
-
同一フォルダにある複数のテキ...
-
アスキー、バイナリーの違い、...
-
複数のテキストファイル内の複...
-
スペース区切りのテキストファ...
-
Excelにて、フォルダ内のTextフ...
-
テキストファイルの最終行を消...
-
uwscでExcelに自動記入
-
VBAでテキストファイルを最後ま...
-
VBScript(vbs)での行の取得につ...
-
複数ファイルから情報抽出
-
vbaでテキストファイル(*.txt...
-
テキストファイルの改行コード...
-
VBで複数のテキストを結合する...
-
unixのシェルスクリプトで特定...
-
VBでのテキストファイルへ参照...
-
VBAで特定のパス(フォルダ)内...
-
句点で改行
-
VBでファイルの判定
おすすめ情報