前提・実現したいこと
ACCESSからWEBサイト(佐川急便の伝票を作成するサイト)に住所や氏名等の自動入力をさせたいです。
発生している問題・エラーメッセージ
該当のWEBサイトの入力画面の住所部分が16字以内の制限付の為、町村まで(漢字)と丁目番地以降(数字)を分けたい(東京都千代田区千代田と1-1のように)ので、下記の太字部分InStr関数とMIN関数で一番最初にくる数字を割り出してLeft関数で分ける様にして試してみたのですが、そもそも作動してくれないか該当部分の直前で止まってしまいます。他にいい方法か修正すべき部分等アドバイス頂けないでしょうか。
該当部分以外は作動します。
該当のソースコード
Private Sub 佐川_Click()
With driver
.Start "chrome"
.Get "https://www.e-service.sagawa-exp.co.jp/"
.FindElementByCss("body > div > main > div > div > label.p-tabs__label.p-tabs__label--02").Click
.FindElementById("user2").SendKeys ("XXXXXXXX")
.FindElementById("pass2").SendKeys ("XXXXXXXX")
.FindElementByCss("body > div.u-bg--login > main > div > div > div.p-tabs__content.p-tabs__content--02 > div > div:nth-child(1) > div > dl > dd.p-login__body.u-pb0 > button").Click
.Get "https://e-hiden3.sagawa-exp.co.jp/a/nsx/web/menu"
.FindElementByCss("#content > div > div.mainPanel > div:nth-child(2) > div.ra-panel-content > div.kihonGyomuContainer > div.okjSksei > button").Click
.FindElementByCss("#content > div > div:nth-child(5) > div.el-dialog__wrapper.ra-popup > div > div.el-dialog__body > div:nth-child(1) > button:nth-child(1)").Click
End With
Dim YUBIN, NAME, TEL, JUU1, JUU2, TEMP, TEMP2, TEMP3, MINIMUM YUBIN = Me!郵便番号 NAME = Me![氏名(漢字)] TEL = Me!電話番号 JUU1 = Me![住所1] JUU2 = Me![住所2] If Len(JUU2) > 0 Then TEMP = NAME NAME = JUU2 JUU2 = TEMP End If driver.FindElementById("input-otdkSkYbn").SendKeys (YUBIN)
__ **TEMP2 = Left(JUU1, Min(InStr(1, JUU1, "1""2""3""4""5""6""7""8""9")) - 1)
TEMP3 = Right(JUU1, (Len(JUU1) - Len(TEMP2)))
driver.FindElementById("input-otdkSkJsy1").SendKeys (TEMP2) driver.FindElementById("input-otdkSkJsy2").SendKeys (TEMP3)
**__
NAME = Replace(NAME, "㈱", "株式会社")
NAME = Replace(NAME, "㈲", "有限会社")
NAME = Replace(NAME, "髙", "高")
NAME = Replace(NAME, "﨑", "崎")
If JUU2 <> "" Then JUU2 = Replace(JUU2, "㈱", "株式会社") JUU2 = Replace(JUU2, "㈲", "有限会社") JUU2 = Replace(JUU2, "髙", "高") JUU2 = Replace(JUU2, "﨑", "崎") End If driver.FindElementById("input-otdkSkNm1").SendKeys (NAME) If JUU2 <> "" Then driver.FindElementById("input-otdkSkNm2").SendKeys (JUU2) If TEL <> "" Then driver.FindElementById("input-otdkSkTel").SendKeys (TEL) Stop
End Sub
補足情報(FW/ツールのバージョンなど)
ACCESS for Microsoft 365を使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/25 08:15
2021/09/25 09:29