0

あるシステムで文字列設定を行っても、内容が反映されない箇所があります。

自動記録では文字列設定ができず、IE操作内のノードを参考にScriptをカスタマイズすることで文字列の入力自体はできるようになったのですが、文字列を設定しても設定した内容が反映されません。

入力欄にはもともと当日日付が入っており、当日以外の日付を入力⇒検索、としたいのですが、

入力した日付が反映されず、もともと入っていた日付が反映されてデータの検索がかかってしまいます。

入力欄を空にしても変わりませんでした。

こういった場合、エミュレーション+文字列送信で対応するほかないのでしょうか?

知識不足で申し訳ないのですが、何か良い方法がないか、ご教示いただきたいです。

入力したい箇所

FrameNum:0

Tag:INPUT

TagNum:3

Id:mat-input-?(?部分は0からスタートして1つずつ増加します)

Class:input mat-input-element mat-form-field-autofill-control cdk-text-field-autofill-monitored ng-untouched ng-pristine ng-valid

スクリプト(変更箇所の抜粋)

' 引数を解釈する
ieTitle = GetUMSWindowTitle(@ウィンドウ識別名@)
frameNum = !フレーム番号(0~)! + 0
targetText = !入力対象ID!
Text = !入力文字!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Set element = Nothing

On Error Goto 0
Set element = document.document.getElementById(targetText)

If element Is Nothing Then
Err.Raise 1, "", "指定されたエレメントが存在しません。"
WScript.Quit
End If

result = True
On Error Resume Next
element.value = text
If Err.Number <> 0 Then
result = False
End If
On Error Goto 0

If Not result Then
Err.Raise 1, "", "入力に失敗しました。"
End If

スクリプト探究者 回答した質問
回答とコメントは、会員登録(無料)で閲覧できるようになります。