こんにちは、スクリプトの天才です。私はまだ VBScript を学んでおり、鞭打ちの準備は万端です。ですから、方向性がある限り、あなたが私に求めたものは何でも研究します。
提案された質問を検索したところ、必要なものが見つかりましたが、「クローズ」されており、同様の他の質問を探すためのリンクがありませんでした.
これが私が達成しようとしていることです。テキスト ファイルを取得し、データを配列に読み込む必要があります (正しい場合)。このデータには、PC 名、PC の場所が含まれています。約 2000 レコード (または行) を運ぶので、それぞれを変数にロードする必要があります。PC 名にはスペースを入れませんが、PC の場所にはスペースを入れることができます。例のように:
Laptop, my bathroom
Desktop, kitchen
WshShell.SendKeys
この情報を変数にロードして、キー コマンドを使用して渡したいと考えています。2つのテキストファイルで「ちょっと」機能させ、そのデータをExcelシートに送信することができました(タブを使用して入力できるため)。しかし、1 対 1 で一致するのではなく、1 対 10 で一致します。したがって、PC.txt に 10 個の PC 名があり、Location.txt に 10 個の場所が含まれている場合 (行順に各ファイルに一致する)、私のスクリプトは 100 個の結果を返します。 10 ではありません。したがって、私はこれをすべて間違って行っていることを知っており、何らかのガイダンスが必要です。これが私の失敗した試みであり、私は笑いの準備ができています..
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile1 = objFSO.OpenTextFile("C:\pc.txt", ForReading1)
Set objFile = objFSO.OpenTextFile("C:\Location.txt", ForReading)
'test is my excel file title test, this will allow tabs and enters
WshShell.AppActivate "test"
Const ForReading1 = 1
Dim arrFileLines1()
i = 0
Do Until objFile1.AtEndOfStream
Redim Preserve arrFileLines1(i)
arrFileLines1(i) = objFile1.ReadLine
i = i + 1
Loop
objFile1.Close
Const ForReading = 1
Dim arrFileLines()
i = 0
Do Until objFile.AtEndOfStream
Redim Preserve arrFileLines(i)
arrFileLines(i) = objFile.ReadLine
i = i + 1
Loop
objFile.Close
For Each strLine1 in arrFileLines1
For Each strLine in arrFileLines
WshShell.SendKeys strLine1
WshShell.SendKeys "{TAB}"
WshShell.SendKeys strLine
WshShell.SendKeys "{ENTER}"
Next
Next
「、」に基づいてこのデータを分割することについて調査してきましたが、それを使用してキーストロークを繰り返すことができる変数に取得する必要があります。
ラップトップ {TAB} マイ キッチン {ENTER} デスクトップ {TAB} バスルーム {ENTER} ....最後まで。